1
私は自分自身の画像の一部でVGGをトレーニングしています。 私は次のコードを持っている:私のディレクトリに基づいてKerasとVGGトレーニング:model.predict_generatorに従ったトレーニングと検証の例を "失う"のはなぜですか
Found 1500 images belonging to 2 classes.
Found 500 images belonging to 2 classes
を予想通り、私が得るこれの実行に続い
img_width, img_height = 512, 512
top_model_weights_path = 'UIP-versus-inconsistent.h5'
train_dir = 'MasterHRCT/Limited-Cuts-UIP-Inconsistent/train'
validation_dir = 'MasterHRCT/Limited-Cuts-UIP-Inconsistent/validation'
nb_train_samples = 1500
nb_validation_samples = 500
epochs = 50
batch_size = 16
def save_bottleneck_features():
datagen = ImageDataGenerator(rescale=1./255)
model = applications.VGG16(include_top=False, weights='imagenet')
generator = datagen.flow_from_directory(
train_dir,
target_size=(img_width, img_height),
shuffle=False,
class_mode=None,
batch_size=batch_size
)
bottleneck_features_train = model.predict_generator(generator=generator, steps=nb_train_samples // batch_size)
np.save(file="UIP-versus-inconsistent_train.npy", arr=bottleneck_features_train)
generator = datagen.flow_from_directory(
validation_dir,
target_size=(img_width, img_height),
shuffle=False,
class_mode=None,
batch_size=batch_size,
)
bottleneck_features_validation = model.predict_generator(generator, nb_validation_samples // batch_size)
np.save(file="UIP-versus-inconsistent_validate.npy", arr=bottleneck_features_validation)
generator = datagen.flow_from_directory(
validation_dir,
target_size=(img_width, img_height),
shuffle=False,
class_mode=None,
batch_size=batch_size,
)
bottleneck_features_validation = model.predict_generator(generator, nb_validation_samples // batch_size)
np.save(file="UIP-versus-inconsistent_validate.npy", arr=bottleneck_features_validation)
をそれから私は
train_data = np.load(file="UIP-versus-inconsistent_train.npy")
train_labels = np.array([0] * 750 + [1] * 750)
validation_data = np.load(file="UIP-versus-inconsistent_validate.npy")
validation_labels = np.array([0] * 250 + [1] * 250)
を実行し、データを検査
print("Train data shape", train_data.shape)
print("Train_labels shape", train_labels.shape)
print("Validation_data shape", validation_labels.shape)
print("Validation_labels", validation_labels.shape)
そして私は
Train data shape (1488, 16, 16, 512)
Train_labels shape (1488,)
Validation_data shape (496,)
Validation_labels (496,)
を取得し、これは変数である - 私はいくつかを「失う」のような代わりに、1500の訓練データ例と500個の検証例を有しているとそれがです。ときどき私が走るとき save_bottleneck_features(): 数字は戻ってきますが、それ以外は戻ってきません。プロセスに時間がかかると、多くのことが起こります。これについて再現可能な説明はありますか?おそらく破損した画像ですか?
うーん...あまりにも簡単です:( – GhostRider