JPEG ファイルの読み込み時のエラーについて
解決したいこと
複数のjpegファイルを読み込みたいのですが訓練データを60枚以上にするとエラーが生じてしまいます。何方か教えていただけると有難いです。
発生している問題・エラー
tensorflow.python.framework.errors_impl.InvalidArgumentError: Expected image (JPEG, PNG, or GIF), got unknown format starting with 'BM\366p\001\000\000\000\000\0006\000\000\000(\000' [Op:DecodeJpeg]
該当するソースコード
import numpy as np
import tensorflow as tf
import glob
x_train=[]
y_train=[]
x_test=[]
y_test=[]
for f in glob.glob("C:/datasets/PetImages/*/*/*.jpg"):
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
print(x_train.shape)
y_train=np.array(y_train)
x_test=np.array(x_test)/255.0
y_test=np.array(y_test)
# #CNNの実装
model=tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(100,100,3)),
tf.keras.layers.Dense(64,activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(2,activation='softmax')
])
#modelの設定
model.compile(optimizer="adam",loss='sparse_categorical_crossentropy',metrics=["accuracy"])
#modelの実装
model.fit(x_train,y_train,batch_size=10,epochs=100)
自分で試したこと
C:/datasets/PetImages///*.jpg
このpathのファイルにはjpegファイルしか入っていないので何を改善していいか分からないです。
0