前提・実現したいこと
Chainerの畳み込み層をGPU上で動かしたい
発生している問題・エラーメッセージ
Traceback (most recent call last): File "test.py", line 9, in <module> y = l(x) File "/home/user/.local/lib/python3.6/site-packages/chainer/links/connection/convolution_2d.py", line 171, in __call__ groups=self.groups) File "/home/user/.local/lib/python3.6/site-packages/chainer/functions/connection/convolution_2d.py", line 577, in convolution_2d y, = fnode.apply(args) File "/home/user/.local/lib/python3.6/site-packages/chainer/function_node.py", line 235, in apply ', '.join(str(type(x)) for x in in_data))) TypeError: incompatible array types are mixed in the forward input (Convolution2DFunction). Actual: <class 'cupy.core.core.ndarray'>, <class 'numpy.ndarray'>, <class 'numpy.ndarray'>
該当のソースコード
python
1import chainer 2import chainer.links as L 3from chainer import cuda 4 5xp = cuda.cupy 6 7x = xp.arange(1 * 3 * 10 * 10, dtype=xp.float32).reshape(1, 3, 10, 10) 8l = L.Convolution2D(3, 7, 5) 9y = l(x) 10print(y.shape)
試したこと
入力をcupyでなくnumpyにしたときはうまくできました。
補足情報(FW/ツールのバージョンなど)
cuda 9.1
python3.6.5
chainer 4.0.0
cupy 4.0.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。