2017-08-03 8 views
1

いくつかの画像を訓練するのにチェーンャーを使用しましたが、エラーがあります。UnicodeDecodeErrorデータセットを訓練するためにcudaを使用すると

私はそのUnicodeDecodeErrorかcupyのインストールのエラーがわかりません。

P:\dcgans\chainer-DCGAN\chainer-DCGAN>python DCGAN.py 

Traceback (most recent call last): 
    File "DCGAN.py", line 279, in <module> 
    train_dcgan_labeled(gen, dis) 
    File "DCGAN.py", line 171, in train_dcgan_labeled 
    zvis = (xp.random.uniform(-1, 1, (100, nz), dtype=np.float32)) 
    File "P:\Python35\lib\site-packages\cupy\random\distributions.py", line 132, in uniform 
    return rs.uniform(low, high, size=size, dtype=dtype) 
    File "P:\Python35\lib\site-packages\cupy\random\generator.py", line 235, in uniform 
    rand = self.random_sample(size=size, dtype=dtype) 
    File "P:\Python35\lib\site-packages\cupy\random\generator.py", line 153, in random_sample 
    RandomState._1m_kernel(out) 
    File "cupy/core/elementwise.pxi", line 552, in cupy.core.core.ElementwiseKernel.__call__ (cupy\core\core.cpp:43810) 
    File "cupy/util.pyx", line 39, in cupy.util.memoize.decorator.ret (cupy\util.cpp:1480) 
    File "cupy/core/elementwise.pxi", line 409, in cupy.core.core._get_elementwise_kernel (cupy\core\core.cpp:42156) 
    File "cupy/core/elementwise.pxi", line 12, in cupy.core.core._get_simple_elementwise_kernel (cupy\core\core.cpp:34787) 
    File "cupy/core/elementwise.pxi", line 32, in cupy.core.core._get_simple_elementwise_kernel (cupy\core\core.cpp:34609) 
    File "cupy/core/carray.pxi", line 87, in cupy.core.core.compile_with_cache (cupy\core\core.cpp:34264) 
    File "P:\Python35\lib\site-packages\cupy\cuda\compiler.py", line 133, in compile_with_cache 
    base = _empty_file_preprocess_cache[env] = preprocess('', options) 
    File "P:\Python35\lib\site-packages\cupy\cuda\compiler.py", line 99, in preprocess 
    pp_src = pp_src.decode('utf-8') 
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 27-28: invalid continuation byte 
+0

使用しているCuPy/Chainerのバージョンは? – niboshi

+0

@niboshi chainer(2.0.2)cupy(1.0.2) – Barry

答えて

0

nvccが非UTF8出力を生成し、CuPyがそれを解読することができなかったようです。 これはCuPyのバグです(私は問題を投稿しました:#378)。

可能な解決策は、cupy/cuda/compiler.py'utf-8'行をpp_src = pp_src.decode('utf-8')に置き換えることです。たとえば、日本語環境では'cp932'が有効で、'cp936'は簡体字中国語で動作するはずです。

普遍的な解決策としてlocale.getdefaultlocale()[1]を試すこともできます(必ずimport localeにしてください)。

更新:修正がマージされました。今後のCuPy v1.0.3で修正されるはずです。

関連する問題