インデントエラーでつまづいています。どういうふうに書き直せば良いのでしょうか。
python
1import nnabla as nn 2import nnabla.functions as F 3import nnabla.parametric_functions as PF 4from nnabla.utils.data_iterator import data_iterator_csv_dataset 5import os 6import cv2 7from datetime import datetime 8import pandas as pd 9import matplotlib.pyplot as plt 10import numpy as np 11from PIL import Image 12 13def network(x, y, test=False): 14 # Input:x -> 3,250,250 15 # MulScalar 16 h = F.mul_scalar(x, 0.003921568627450981) 17 # DepthwiseDeconvolution -> 3,256,256 18 h = PF.depthwise_deconvolution(h, (7,7), name='DepthwiseDeconvolution') 19 # ReLU 20 h = F.relu(h, True) 21 # MaxPooling -> 3,128,128 22 h = F.max_pooling(h, (2,2), (2,2)) 23 # Convolution -> 16,128,128 24 h = PF.convolution(h, 16, (3,3), (1,1), name='Convolution') 25 # MaxPooling_2 -> 16,64,64 26 h = F.max_pooling(h, (2,2), (2,2)) 27 # Tanh 28 h = F.tanh(h) 29 # Affine -> 100 30 h = PF.affine(h, (100,), name='Affine') 31 # ReLU_2 32 h = F.relu(h, True) 33 # Affine_2 -> 26 34 h = PF.affine(h, (26,), name='Affine_2') 35 # Softmax 36 h = F.softmax(h) 37 # CategoricalCrossEntropy -> 1 38 #h = F.categorical_cross_entropy(h, y) 39 return h 40 41 cap = cv2.VideoCapture(0) # 任意のカメラ番号に変更する 42 43 new_dir_path = "./realtime/" 44 os.makedirs(new_dir_path, exist_ok=True) 45 46 #カメラスタート 47while True: 48 49 ret, frame = cap.read() 50 cv2.imshow("camera", frame) 51 52 k = cv2.waitKey(1)&0xff # キー入力を待つ 53 if k == ord('p'): 54 55 # 「p」キーで画像を保存 56 57 date = datetime.now().strftime("%Y%m%d_%H%M%S") 58 path = new_dir_path + date +".png" 59 cv2.imwrite(path, frame) 60 image_gs = cv2.imread(path) 61 62 path = new_dir_path + date +".png" 63 dst = cv2.resize(image_gs,(250,250)) 64 cv2.imwrite(path, dst) 65 66 f = pd.DataFrame(columns=["x:data","y:data"]) 67 xdata = path 68 ydata = 0 69 new_name = pd.Series([xdata,ydata],index=f.columns) 70 f = f.append(new_name, ignore_index=True) 71 f.to_csv('C:\Users\username\Desktop\output\valu.csv',index=False,header = True ) 72 73 test_data = data_iterator_csv_dataset("C:\Users\username\Desktop\output\valu.csv",1,shuffle=False,normalize=True) 74 75 76 #ネットワークの構築 77 nn.clear_parameters() 78 x = nn.Variable((1,3,250,250)) 79 t = nn.Variable((1,1)) 80 y = network(x, t) 81 82 nn.load_parameters('\Users\username\Desktop\output\yubidata.files/20210108_180946\results.nnp') 83 print("load model") 84 85 86 87 path = new_dir_path + "test" +".png" 88 cv2.imwrite(path, frame) 89 image_gs = cv2.imread(path) 90 91 path = new_dir_path + date +".png" 92 dst = cv2.resize(image_gs,(250,250)) 93 cv2.imwrite(path, dst) 94 95 f = pd.DataFrame(columns=["x:data","y:data"]) 96 xdata = path 97 ydata = 0 98 new_name = pd.Series([xdata,ydata],index=f.columns) 99 f = f.append(new_name, ignore_index=True) 100 f.to_csv('C:\Users\username\Desktop\output\valu.csv',index=False,header = True ) 101 102 test_data = data_iterator_csv_dataset("C:\Users\username\Desktop\output\valu.csv",1,shuffle=False,normalize=True) 103 104 105 #ネットワークの構築 106 nn.clear_parameters() 107 x = nn.Variable((1,3,250,250)) 108 t = nn.Variable((1,1)) 109 y = network(x, t) 110 111 nn.load_parameters('C:\Users\username\Desktop\output\yubidata.files/20210108_180946\results.nnp') 112 print("load model") 113 114 for i in range(test_data.size): 115 116 x.d, t.d = test_data.next() 117 y.forward() 118 print(y.d[0]) 119 120 121 elif 122 k == ord('q'): 123 # 「q」キーが押されたら終了する 124 125 break 126 127# キャプチャをリリースして、ウィンドウをすべて閉じる 128cap.release() 129cv2.destroyAllWindows()
とりあえずは、自分の理解している範囲で、インデントを付けて書いてみましょう。
```python
import nnabla as nn
・・・
cv2.destroyAllWindows()
```
というように、ソースコードの前後に「```python」と「```」を入れてください。
"インデントってなんですか?"という質問でしょうか?
インデントエラーとなっているのですがいくら書き換えても同じエラーが起こってしまいます。
どこかからコピペしたものでしょうか?
https://jump1268.hatenablog.com/entry/2021/01/04/144112
はい。こちらのブログからコピペしたものです。 ブログ自体のプログラムは問題ないと思うのですが・・
今のままだとインデントがどうなってるか他人には分からないので、ppaulさんがこの上に書いてるやり方で質問を編集してください
エラーが出ませんね。
いや、エラーが出ました。
IndentationError: unindent does not match any outer indentation level
ですね。
77行目から7空白になっているので、それを修正してください。
回答1件
あなたの回答
tips
プレビュー