質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Chainer

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

解決済

chainerとcupyを用いたGPU計算を実行したら、'utf-8' codec can't decode byte 0xa3 in position 225とエラーが出ました

reimari222
reimari222

総合スコア0

Chainer

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

1回答

0リアクション

0クリップ

856閲覧

投稿2021/09/04 07:25

###使用環境
CPU:i9-10900K
GPU:GTX2080SUPER
python 3.8
Visual Studio 2019

発生している問題

ディープラーニングのコードの練習を始めたばかりなのですが、
chainerとcupyを使って簡単なAIを作成しようと
gpu計算を行おうとしたところ、
chainer.functions.relu()で、
###エラーメッセージ

###'utf-8' codec can't decode byte 0xa3 in position 225: invalid start byte

試したこと

コードの先頭にはutf-8のおまじないをつけています。
!/usr/bin/env python
-- coding: utf-8 --
chainer7.8.0とcupy-cuda110(7.8.0)
chainer7.7.0とcupy-cuda110(7.7.0)
とバージョンをいじっても駄目でした。
インストールしなおしてもダメでした。
ちなみに、GPU無しは使えています。
また、chainer自身はGPUを認識しています。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

jbpb0

2021/09/04 11:54 編集

> 'utf-8' codec can't decode byte 0xa3 in position 225: invalid start byte ファイルの先頭から225byte目に変なデータが混入してるみたいなので、調べてみてください byteの数え方は、下記の通りです ・0から始まる(ファイルの一番先頭の文字は0になる)  ただし、BOM付きUTF-8の場合は、3から始まる ・行末の改行は、ファイルの改行コードによって変わる   Windowsのテキストファイルのデフォルトの「CR+LF」なら2byte   MacやLinuxのテキストファイルのデフォルトなら1byte ・日本語の全角文字は、ファイルのエンコードによって変わる   Windowsのテキストファイルのデフォルトの「シフトJIS」なら2byte   「UTF-8」なら、たいてい3byte   http://orange-factory.com/dnf/utf-8.html ただし、混入してるデータによっては、ファイルをエディタで開いても見えないかもしれません 調べても何も変なものが無いように見えるなら、225byte目を含む行を削除して、その行の内容を手入力したら、たぶん変なデータは無くなると思います (コピペだと混入してるデータも付いてくるかもしれないので、その行はすっぱり削除して入力し直す方がいいです)
jbpb0

2021/09/04 15:00 編集

> コードの先頭にはutf-8のおまじないをつけています。 そのファイルはUTF-8で保存してますよね? なお、 https://qiita.com/KEINOS/items/6efc1147b917d7811b5b によると、Python 3でソースコードファイルがUTF-8の場合は、その指定を書くのは非推奨なのだそうです
reimari222

2021/09/04 20:10

ファイルを手入力しても、おまじないをけしてもだめです。 どうも、モデルを作成するときにエラーが出ます。 args.unit=1000です。 import numpy as np import chainer from chainer import Chain import chainer.functions as F import chainer.links as L from chainer import cuda, variable from chainer import datasets, iterators, optimizers, serializers import argparse class MLP(Chain): def __init__(self, n_units): super(MLP, self).__init__() with self.init_scope(): self.l1 = L.Linear(None, n_units) #入力層 self.l2 = L.Linear(None, n_units) #中間層 self.l3 = L.Linear(None, 10) #出力層 def __call__(self, x): h1 = F.relu(self.l1(x))←ここでエラーです。 h2 = F.relu(self.l2(h1)) return self.l3(h2) model = MLP(args.unit)
reimari222

2021/09/04 23:01

問題点がわかりました。ユーザー名に日本語を使用していたからだと思います。 PCを初期化してユーザー名を英語に変えたらうまくいきました。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Chainer

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。