前提
Tensorflowを用いての二項分類を勉強しています。
用意した画像をx_train, y_train, x_test, y_testに振り分けるため、
添付した画像のように、split関数を使っているのですが”¥”がうまく読み込んでくれません。
実現したいこと
・画像を読み込ませられるようにしたい。
試したこと
このディレクトリパスで"img_data"が出力されていることは確認済みです。
自分なりにいろいろ調べた結果、”¥”を”¥¥”と表現することに気が付きました。
"¥¥"に表記を変え、試した結果、以下のエラーが発生しました。

ファイルの形式がおかしいとのエラー文だと思われますが、拡張子jpegで統一してあります。
該当のソースコード
#ライブラリのインポート import tensorflow as tf from tensorflow import keras import numpy as np import matplotlib.pyplot as plt import glob #画像の準備 x_train = [] #訓練用のimage y_train = [] #訓練用のlabels x_test = [] #テスト用のimage y_test = [] #テスト用のimage for f in glob.glob(".\image\*\*\*.jpeg"): img_data = tf.io.read_file(f) img_data = tf.io.decode_jpeg(img_data) img_data = tf.image.resize(img_data,[100,100]) if f.split("\\")[1] == "train": x_train.append(img_data) y_train.append(int(f.split("\\")[2].split("_")[0])) elif f.split("\\")[1] =="test": x_test.append(img_data) y_test.append(int(f.split("\\")[2].split("_")[0])) x_train = np.array(x_train) / 255.0 y_train = np.array(y_train) x_test = np.array(x_test) / 255.0 y_train = np.array(x_test)
補足情報(FW/ツールのバージョンなど)
・Python 3.9.12
・Anaconda3 4.12.0 2022.05-64bit
・Tensorflow 2.6.0
・Keras 2.6.0

コードなどは画像ではなくテキスト(文字)で提示ください。
> 拡張子jpegで統一してあります。
画像形式は本当にjpegですか?
はい。jpegで統一してあることを再確認しました。
拡張子の話ではなく、エラーメッセージにあるようにファイル形式が”JPEG、PNG、GIF、BMP"以外ではありませんか? 画像はどのように用意されたのでしょうか?
画像はGoogleの画像検索から画像分類に扱えそうな画像を、それぞれ20枚ずつ集めました。
その後、画像の拡張子がjpgで一度、これと同じようなエラー文が出たため、jpegに統一して、再度行った次第です。
jpegに変更してから、"img_data"にデータが入っていることを確認できました。
そして次に、本題にもあるsplit関数での”¥”記号のエラーが出ました。
"¥"では通らなかったため、"¥¥"に変更した結果、上記のエラー文が再度出たという状況になります。
> その後、画像の拡張子がjpgで一度、これと同じようなエラー文が出たため
こちらでtf.io.read_file()とtf.io.decode_jpegを試したところでは拡張子「jpg」でエラーは出ませんでした。
> 画像はGoogleの画像検索から画像分類に扱えそうな画像を、それぞれ20枚ずつ集めました。
エラーが発生した際のfの値は何になっているか確認しましたか? 問題のあるファイルが混ざっているのかもしれません。
fの値を確認いたしました。
「hand_0.jpeg」を読み込んだ時に「img_data = tf.io.decode_jpeg(img_data)」の行でエラーになってるので、「hand_0.jpeg」がおかしい可能性があります
その画像を取り除いてから再度実行してみてください
もし他の画像でも同様に「img_data = tf.io.decode_jpeg(img_data)」の行でエラーが出たら、エラーが出た時の画像を取り除いて、エラーが出なくなるまでそれを繰り返してみてください
回答1件
あなたの回答
tips
プレビュー



