2016-11-22 96 views
0

以Theano作爲後端運行Keras實現時。我收到以下錯誤消息,我真的不知道可能的原因。如果你遇到過這樣的問題,或者能夠分享任何見解,我會非常感激。關於調用keras中的model.fit時的UnicodeDecodeError錯誤

在下面,我用深黑色標記兩行。第一行涉及導致問題的代碼。底部的第二個黑色黑線表示錯誤消息。

使用以下命令行進行編譯時出現問題: /usr/bin/g ++ -shared -g -O3 -fno-math-errno -Wno -unused-label -Wno-unused-variable -Wno-write-串-march = core2的-mcx16 -msahf -maes -mpclmul -mpopcnt -mavx 跳過某些細節....

Traceback (most recent call last):                
    File "train.py", line 144, in <module>              
    train_and_predict()                  
    File "train.py", line 129, in train_and_predict 

model.fit(imgs_train, imgs_mask_train, batch_size=32, nb_epoch=20, verbose=1, shuffle=True,callbacks=[model_checkpoint])                
    File "/user/theano/lib/python3.4/site-packages/Keras-1.0.3-py3.4.egg/keras/engine/training.py", line 1037, in fit  
    self._make_train_function()                
    File "/user/theano/lib/python3.4/site-packages/Keras-1.0.3-py3.4.egg/keras/engine/training.py", line 670, in _make_train_function           
    **self._function_kwargs)                 
    File "/user/theano/lib/python3.4/site-packages/Keras-1.0.3-py3.4.egg/keras/backend/theano_backend.py", line 528, in function            
    return Function(inputs, outputs, updates=updates, **kwargs)        
    File "/user/theano/lib/python3.4/site-packages/Keras-1.0.3-py3.4.egg/keras/backend/theano_backend.py", line 514, in __init__            
    **kwargs)                     

....跳過某些細節...

File "/user/theano/lib/python3.4/site-packages/Theano-0.8.2-py3.4.egg/theano/gof/cmodule.py", line 1142, in module_from_key 
    module = lnk.compile_cmodule(location) 
    File "/user/theano/lib/python3.4/site-packages/Theano-0.8.2-py3.4.egg/theano/gof/cc.py", line 1506, in compile_cmodule 
    preargs=preargs) 
    File "/user/theano/lib/python3.4/site-packages/Theano-0.8.2-py3.4.egg/theano/gof/cmodule.py", line 2183, in compile_str 
    compile_stderr = decode(p_out[1]) 
    File "/user/theano/lib/python3.4/site-packages/Theano-0.8.2-py3.4.egg/theano/compat/__init__.py", line 42, in decode 
    return x.decode() 

UnicodeDecodeError:'utf-8'編解碼器無法解碼位置0中的字節0xc0:無效起始字節

+0

不要給出整個錯誤日誌,它會降低帖子的可讀性。它很好,如果你可以突出顯示導致錯誤的主要事情根據你。 –

+0

感謝您的建議,我修改了原帖 – user297850

回答

0

我猜錯誤是因爲您正在使用的數據集中有一些非ascii字符,它可以不會被編碼/解碼。一個簡單的方法來避免這個錯誤編碼這些字符串與編碼()函數(如果是使用非ASCII字符的字符串):

a.encode('utf-8') 

如果你正在閱讀從文件中的數據,你還可以設置encoding='utf8'作爲參數來避免此類問題。

+0

嗨瓦西,感謝您的回覆。更多細節,我使用Tensorflow作爲後端測試相同的程序。看起來它正在運行。其次,輸入數據imags_train和image_mask_train是npy文件。如何確保它們被編碼爲'utf-8'。 – user297850

+0

如果你正在使用依賴於tensorflow和theano的東西,這是完全有意義的。你會從一個正常的行爲,但從另一個異常。你如何打開和閱讀文件?你可以使用 - 打開(文件,模式='R',編碼='UTF8') - 這樣的事情? –

+0

我明白了。讓我嘗試。謝謝。 – user297850