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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

443閲覧

unsupported operand type(s) for /: 'tuple' and 'int' エラーを改善したい

Champ0513

総合スコア1

PyTorch

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/01/18 00:09

現在、Pytorchを使用して画像の自動識別させる機械学習モデルの構築を行っています。

transformで正規化(標準化)があるのですが、**transforms.Normalize(mean = [0.5, 0.5, 0.5],std=[0.5, 0.5, 0.5])**のようなお決まりのパターンではなく、
現在使用している複数枚の画像のRGBの画素値から平均や標準偏差を求め、それを使って正規化(標準化)を使いたい為、コードを書いたのですが、表題にあるエラーが発生してしまいました。
コードの流れはPytorchを使用している為、全体の画像データをImageFolderに入れてからTrainとValに分けてTrainのデータセットを使って正規化(標準化)させる為の平均、標準偏差を算出しています。
以前、やった時はこれでエラーが発生していなかったのですが、今回は発生してしまい、確認したのですが、原因が分かっておりません。

下記コードを添付していますので、お手数おかけしますが、回答のほどよろしくお願い致します。

# Transforms定義(正規化無し生画像で正規化計算用) # 訓練データ用 (正規化前): input_gaso_no = [(256,256)] train_transform = transforms.Compose([ transforms.Resize(input_gaso_no), transforms.ToTensor(), ]) # データセット定義(正規化計算用) # 訓練用 train_data = datasets.ImageFolder(train_dir , transform = train_transform) # 正規化計算(平均,分散) def normalization (train_data): image_arr=[] image_ave_std=[] image_mean = [] for i in range(train_data.__len__()): **image , idx = train_data[i]** → ここがエラーの元になっているのですが、どう対処するか分からないです。 image_arr.append(image.numpy()) image_mean = np.average(image_arr , axis =1) for image in image_mean: image_ave_std.append([image[0].mean() , image[1].mean() , image[2].mean() ,image[0].std() ,image[1].std() , image[2].std()]) df_image_ave_std = pd.DataFrame(image_ave_std , columns=['R(Ave)','G(Ave)','B(Ave)','R(Std)','G(Std)','B(Std)']).mean() print(df_image_ave_std) return df_image_ave_std df_image_ave_std = normalization (train_data) image_ave_std_arr = df_image_ave_std.to_numpy() image_ave_arr , image_std_arr = np.array_split(image_ave_std_arr , 2) print(image_ave_std_arr) print(image_ave_arr) print(image_std_arr)

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

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

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

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

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

ozwk

2023/01/18 00:59

「エラーの元」とはなんですか? その行でエラーが発生しているということですか? それともその行を消すとエラーが消えるということですか? エラーメッセージは省略せずに(個人名等は伏せてよい)質問文に記載してください
Champ0513

2023/01/18 05:16

色々と不足して申し訳ございません。 その後、更に調査をしたところ、リストの中にタプル形式の記述があり、おかしいところがあった為、 リストに修正したところ動きました。
guest

回答1

0

自己解決

お手数おかけして申し訳ございません。
その後、更に調査をして解決しました。

transformの部分でリストの中にタプル形式で記述があった為
input_gaso_no = [(256,256)]

投稿2023/01/18 05:14

Champ0513

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問