美文网首页
2019-03-26---28 Pytorch:解压fashi

2019-03-26---28 Pytorch:解压fashi

作者: whisper330 | 来源:发表于2019-03-27 22:04 被阅读0次

环境搭建好了,第一个想实践的就是用自己的数据训练网络。

参考链接:pytorch用自己的数据训练自己写的网络 - 请叫我小皇帝 的博客 - CSDN博客

步骤和代码是按照上面那个博客链接来的,以下是我实际运行的时候遇到的坑以及如何填坑。

1.在from skimage import io出现了问题,显示我没有安装相应模块

然后我就打开Anaconda prompt进入Pytorch环境,输入pip install skimage

等待安装。。。

安装完成

Scikit-image是图像处理和机器视觉的一个算法收集包,官方手册链接如下:skimage — skimage v0.14.2 docs

2. AssertionError 断言函数抛出异常

出错的是mnist.py里面带的函数,出错部分如下

def read_image_file(path):

    with open(path, 'rb') as f:

        data = f.read()

        assert (data[:4]) == 2051

这里在读取二进制文件后根据data前四位的码来判断文件类型,是image还是label。                      

image magic number
label magic number

  图片来源:python处理MNIST数据集 - 简书

读出来的码不是代表图像的2051,抛出异常。单步运行,检测错误的出错点。

>>>path = "H:/learning/pytorch/fashion_mnist/train-images-idx3-ubyte"

>>>f = open(path,"rb")

>>>data = f.read()

>>>data[:4]

Out[11]: b'\x00\x00\x08\x03'

到这里显示data前四位的值是'\x00\x00\x08\x03',和上图image的十六进制值是一样的。然后解码。

>>>b = codecs.decode(a,'hex')

Traceback (most recent call last):

  File "<ipython-input-23-57d16b9c49c6>", line 1, in <module>

    b = codecs.decode(a,'hex')

NameError: name 'codecs' is not defined

推测应该是codecs包的问题,下载相应package。打开Anaconda navigator,在相应的环境里(我的是Pytorch)搜索codecs,出现相应的包,点击apply。

下载完成之后,再将mnist.py里面的assert (data[:4]) == 2051改成assert get_int(data[:4]) == 2051,然后运行成功。

相关文章

网友评论

      本文标题:2019-03-26---28 Pytorch:解压fashi

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