###前提・実現したいこと
失礼します.最近chainerを使い始めたものです.
GPUが使えているのか確認したくて以下のプログラムを実行させたのですが,エラーが出てきてしまい実行できません.
###発生している問題・エラーメッセージ
File "C:\Anaconda3\lib\site-packages\cupy\cuda\compiler.py", line 85, in preprocess pp_src = pp_src.decode('utf-8') UnicodeDecodeError: 'utf-8' codec can't decode byte 0x90 in position 27: invalid start byte
###該当のソースコード
import numpy import chainer import chainer.optimizers import cupy gpu = True #GPU使うならTrueに FalseにしたらCPUで動きます #gpuを使う場合はxpにcupy、cpuならxpにnumpyを入れる if gpu : xp = cupy else: xp = numpy class RegressionModel(chainer.FunctionSet): def __init__(self): super(RegressionModel, self).__init__( fc1 = chainer.functions.Linear(2, 2), fc2 = chainer.functions.Linear(2, 1) ) def _forward(self, x): h = self.fc2(chainer.functions.sigmoid(self.fc1(x))) return h def train(self, x_data, y_data): x = chainer.Variable(x_data.reshape(1,2).astype(xp.float32), volatile=False) y = chainer.Variable(y_data.reshape(1,1).astype(xp.float32), volatile=False) h = self._forward(x) optimizer.zero_grads() error = chainer.functions.mean_squared_error(h, y) error.backward() optimizer.update() print("x: {}".format(x.data)) print("h: {}".format(h.data)) model = RegressionModel() if gpu: model.to_gpu() optimizer = chainer.optimizers.MomentumSGD(lr=0.01, momentum=0.9) optimizer.setup(model) data_and = [ [xp.array([0,0]), xp.array([0])], [xp.array([0,1]), xp.array([0])], [xp.array([1,0]), xp.array([0])], [xp.array([1,1]), xp.array([1])], ]*10 for invec, outvec in data_and: model.train(invec, outvec) if gpu: print("GPUで計算終了") else: print("これはCPUです 終了")
###試したこと
CPUで実行させた際にはうまく起動させることができました.
###補足情報(言語/FW/ツール等のバージョンなど)
windows10
Anaconda 4.0.0 (64-bit)
python 3.5.1
chainer 1.9.0
Spyder(python3.5)
あなたの回答
tips
プレビュー