欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

numpy python 兼容_Python 2和3之间的numpy数组的不兼容性

发布时间:2025/3/12 python 25 豆豆
生活随笔 收集整理的这篇文章主要介绍了 numpy python 兼容_Python 2和3之间的numpy数组的不兼容性 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

我试图加载MNIST数据集链接

here在Python 3.2使用此程序:

import pickle

import gzip

import numpy

with gzip.open('mnist.pkl.gz', 'rb') as f:

l = list(pickle.load(f))

print(l)

不幸的是,它给我的错误:

Traceback (most recent call last):

File "mnist.py", line 7, in

train_set, valid_set, test_set = pickle.load(f)

UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 614: ordinal not in range(128)

然后我试图解码Python 2.7中的pickled文件,并重新编码。所以,我在Python 2.7中运行这个程序:

import pickle

import gzip

import numpy

with gzip.open('mnist.pkl.gz', 'rb') as f:

train_set, valid_set, test_set = pickle.load(f)

# Printing out the three objects reveals that they are

# all pairs containing numpy arrays.

with gzip.open('mnistx.pkl.gz', 'wb') as g:

pickle.dump(

(train_set, valid_set, test_set),

g,

protocol=2) # I also tried protocol 0.

它运行没有错误,所以我重新编译这个程序在Python 3.2:

import pickle

import gzip

import numpy

# note the filename change

with gzip.open('mnistx.pkl.gz', 'rb') as f:

l = list(pickle.load(f))

print(l)

但是,它给了我一样的错误,以前。如何让这个工作?

总结

以上是生活随笔为你收集整理的numpy python 兼容_Python 2和3之间的numpy数组的不兼容性的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。