我正在处理这个C​​NN。
输入形状是动态的,但我将其固定为[?,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/

10-12 20:05