美文网首页
2019-04-07 Pytorch:pkl转化成mat(待解

2019-04-07 Pytorch:pkl转化成mat(待解

作者: whisper330 | 来源:发表于2019-04-07 21:15 被阅读0次

    参考链接:
    1.pytorch 状态字典:state_dict
    2.Convert .pkl format to .mat format
    3.In matlab, how to read python pickle file?
    4.How can i open dataset in matlab which is .pkl format?

    思路与实践
    加载.pkl并将其转化为.mat,参考链接[2],代码如下

    import os
    import pickle
    f=open('modelAlexNet_params.pkl','rb')
    data = pickle.load(f)
    import numpy, scipy.io
    scipy.io.savemat('mydata.mat', mdict={'what':data})
    

    显示如下:


    image.png

    转化错误:不能把int型的转化为array格式。打开变量浏览器,检查data的变量,如下:

    image.png
    显示data是一行整型的数字,当然这是不对的,modelAlexNet_params.pkl好歹也有两百多M呢。应该是我打开的方式不对,但是不知道这种打开方式为什么不行(待解决

    再参考一中找到一种load方式

    import torch
    conv1_weight_state = torch.load(open('modelAlexNet_params.pkl','rb'))
    print(conv1_weight_state)
    

    显示如下(一部分):


    部分结果

    查看变量浏览器,显示是字典类型,这种打开方式才是正确的。



    将其转化成mat文件

    import numpy, scipy.io
    scipy.io.savemat('mydata1.mat', mdict={'what':conv1_weight_state})
    

    用matlab打开mydata1.mat,显示如下:


    image.png

    结构是对的,但是struct里面没有参数,打开方式又不对(哭泣)

    明天来了再看看吧,回去洗澡澡咯
    思考:
    1.为什么导入有问题 (可能是pytorch和matlab存储数据的方式不太统一,就不匹配)
    2.可不可以直接保存成mat文件 答:可以,但是保存后的mat文件在matlab中导入不进去


    image.png

    .......................................................................................................................................
    上一周(周一到周三)在合作写一篇综述。
    周四调了下程序没调出来。
    周五去参加一个会议。
    .......................................................................................................................................

    2019.4.17 试了各种参考链接的方法,还是不行(如果大家有解决方法,麻烦告知我,感激不尽)。决定现实是用matlab自带的matconvnet训练网络试试。详见下一篇文章。

    相关文章

      网友评论

          本文标题:2019-04-07 Pytorch:pkl转化成mat(待解

          本文链接:https://www.haomeiwen.com/subject/ressiqtx.html