2016-06-15 5 views
1

私は最近、Tensorflow VGG16のコードをテストします。私はPython3.4でvgg16.npyを読み込むとき。エラーが出てきます。python3.4エラーで.npyファイルをロード

self.data_dict = np.load(vgg16_npy_path, encoding='latin1').item() 

エラー: コードは次のようであるだけ

self.data_dict = np.load(vgg16_npy_path).item() 

、そこ

TypeError: load() got an unexpected keyword argument 'encoding' 

しかし、私はencoding='latin1'を削除し、エラーが出てくる:

File "/home/kang/Documents/work_code_PC1/tensorflow-vgg/vgg16.py", line 20, in __init__ 
    self.data_dict = np.load(vgg16_npy_path).item() 

    File "/usr/lib/python3/dist-packages/numpy/lib/npyio.py", line 394, in load 
    return format.read_array(fid) 

    File "/usr/lib/python3/dist-packages/numpy/lib/format.py", line 446, in read_array 
    array = pickle.load(fp) 

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

np.loadを使ってpython3.4で.npyファイルをロードするには? ありがとうございます。

答えて

1

Python 3.4用に古いバージョンのNumPyがインストールされているようです。私が知る限り、encoding引数はnp.load()version 1.9.0version 1.9.1の間に追加されました。 NumPyの新しいバージョンにアップグレードしてみてください:

$ sudo pip3 install --upgrade numpy 
# ...or, if the above doesn't work on your platform: 
$ sudo pip install --upgrade numpy 
関連する問題