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

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

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

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python 3.x

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

Q&A

2回答

294閲覧

python VAE IndentationError: expected an indented blockエラーについて

Lo-sic

総合スコア0

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python 3.x

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

0グッド

0クリップ

投稿2022/06/13 06:14

編集2022/06/13 11:12

現在私はVAEの勉強をしており、サンプルプログラムを動かそうとしていますがエラーが解消できずに困っています。エラー内容は以下の通りです
model = VAE(x_dim=28*28, z_dim=10).to(device)
optimizer = optim.Adam(model.parameters(), lr=0.001)
model.train()

num_epochs = 20
loss_list = []
for i in range(num_epochs):
losses = []
for x, t in dataloader_train:

この最後の行でIndentationError: expected an indented block
というエラーが出ます。インデントが正しくないというエラーとのことですがほかの方のサンプルを動かす際にもここでエラーが出てしまい解消できませんでした。有識者の方で解消方法がわかる方がいたらご教授ください。

プログラムはhttps://tips-memo.com/vae-pytorch#i-5
これをお借りして、エラーが出るのはモデルの学習部分です。

イメージ説明
モデル学習部分をコピペして実行した際には以下のメッセージが出力されました
エラーが多く一つ一つ解消していこうと考え、1行ずつコードを実行した際に以下のメッセージが出力されました
イメージ説明

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakaiY

2022/06/13 10:00

これらのコードをどのように実行しようとしていますか? コードの実行にあたって行なっている手順を詳しく書いてください。
Lo-sic

2022/06/13 10:44

anacondaのjupiternotebook上で動かそうとしています pythonのバージョンは3.9.13です コードをお借りしたサイトからプログラムをコピペして実行していました ライブラリのインポート→deviceの定義→データセットのロード→ネットワークの定義→モデルの学習 の順で実行しましたがモデルの学習部分を実行した際にエラーが多く出たためモデル学習部分を1行ずつ実行していた際にこのエラーに当たってしまいます
guest

回答2

0

モデル学習部分を1行ずつ実行していた

pythonはそのように1行ずつ実行できるようにはなっていません。
基本的にほインデントの塊=インデント0の範囲でないと、エラーになります。

投稿2022/06/13 11:10

TakaiY

総合スコア12801

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

下記コードをまとめて実行する必要があるでしょう。

Python

1for i in range(num_epochs): 2 losses = [] 3 for x, t in dataloader_train: 4 x = x.to(device) 5 loss, z, y = model(x, device) 6 model.zero_grad() 7 loss.backward() 8 optimizer.step() 9 losses.append(loss.cpu().detach().numpy()) 10 loss_list.append(np.average(losses)) 11 print("EPOCH: {} loss: {}".format(i, np.average(losses)))

投稿2022/06/13 13:07

meg_

総合スコア10602

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lo-sic

2022/06/13 15:45

まとめて実行した場合は質問にのせてある画像1枚目のようなエラーがでます。私が乗せたインデントエラーはまとめて実行していないから出るエラーであり、1枚目のエラーとはかんけいないということでよろしいですか?
jbpb0

2022/06/14 00:34

> インデントエラーはまとめて実行していないから出るエラーであり、1枚目のエラーとはかんけいない です
meg_

2022/06/14 11:27

質問内容変えられましたか? 現在の課題は「IndentationError」ではなく「PicklingError」ですか?
meg_

2022/06/14 11:40 編集

https://tips-memo.com/vae-pytorch#i-5 を学習部分まで実行してみましたがエラーは発生しませんでした。 print(dataloader_train.dataset) を実行すると何が表示されますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問