Python3下UnicodeDecodeError和KeyError的解决方法

来源:1-5 数据处理与模型图构建(1)

热粥

2019-07-03 01:34

with open(os.path.join(CIFAR_DIR, "data_batch_1"), 'rb') as f:
    data = pickle.load(f, encoding='bytes')
    print(type(data))
    print(data.keys())
    print(type(data[b'data']))
    print(type(data[b'labels']))
    print(type(data[b'batch_label']))
    print(type(data[b'filenames']))
    print(data[b'data'].shape)
    print(data[b'data'][0:2])
    print(data[b'labels'][0:2])
    print(data[b'batch_label'])
    print(data[b'filenames'][0:2])

1.cPickle是python2的包,对应python3的话,import pickle 就行。

2.在cifar的网页上有标注python3需要在pickle.load的时候增加encoding=‘bytes’。

3.使用data的时候,需要b'data'和b'labels'来指定key。

写回答 关注

1回答

  • 热粥
    2019-07-03 01:35:18

    还有就是print的语法有点变化。

    西小小贝

    dgdgerg

    2019-07-08 10:52:35

    共 1 条回复 >

深度学习之神经网络入门最佳路径

深度学习之神经网络入门与Tensorflow基础实操

21155 学习 · 23 问题

查看课程

相似问题