我正在处理这个CNN。
输入形状是动态的,但我将其固定为[?,600,451,3](batch_size,高度,宽度, channel ),以便可以对其进行调试。
我创建了一个随机批处理生成器:
test = random_batch_generator(z_train
, num_processes=12
, num_batch=steps_train
, preloaded_batch=100
, batch_size=batch_size
, chunk_size=batch_size
, dataaugmfunc=heavy_dataaugm
, seq=seq
, initial_dim=initial_dim
, min_overlap=MINOVERLAP
)
当我做:next(test)[0].shape
或者next(test)[0].dtype
它会向我输出正确的形状([?,600,451,3])和dtype(float32),这在理论上是我输入所需的。我还检查了批次的内容,看来还不错。不过,当我使用以下内容训练模型时,我得到了:
model.fit_generator(
random_batch_generator(z_train (...)),
validation_data= (x_val_mem,y_val_mem),
steps_per_epoch=steps_train,
validation_steps=steps_val,
epochs=epochs
,callbacks=model_callbacks(modelname)
,class_weight = [0.005,0.995]
)
此错误信息:我究竟做错了什么?感谢您对此提供的任何帮助或直觉。
最佳答案
您是否正在使用TensorBoard回调?如果是这样,您可以尝试在创建模型之前添加它
import keras.backend as K
K.clear_session()
参见this answer
关于tensorflow - Keras/Tensorflow : "You must feed a value for placeholder tensor ' input_ 1' with dtype float and shape [?, 600, 451, 3]",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51483450/