【问题标题】:TypeError: Value passed to parameter 'input' has DataType int64 not in list of allowed values: float16, bfloat16, float32, float64TypeError:传递给参数“输入”的值的 DataType int64 不在允许值列表中:float16、bfloat16、float32、float64
【发布时间】:2019-11-08 15:49:49
【问题描述】:

我正在尝试运行模型并从 mnist kaggle 数据集中预测测试数据。但是我在尝试预测时遇到错误。原因和解决方案是什么?

    model = tf.keras.Sequential([
        tf.keras.layers.Conv2D(32, (3,3), padding='same', activation=tf.nn.relu,
                               input_shape=(28, 28, 1)),
        tf.keras.layers.MaxPooling2D((2, 2), strides=2),
        tf.keras.layers.Conv2D(64, (3,3), padding='same', activation=tf.nn.relu),
        tf.keras.layers.MaxPooling2D((2, 2), strides=2),
        tf.keras.layers.Flatten(input_shape=(28, 28, 1)),
        tf.keras.layers.Dense(128, activation=tf.nn.relu),
        tf.keras.layers.Dense(10,  activation=tf.nn.softmax)
    ])

test = pd.read_csv("test.csv") 
test.head()
CHANNELS = 1
IMAGE_SIZE = 28
IMAGE_WIDTH, IMAGE_HEIGHT = IMAGE_SIZE, IMAGE_SIZE
test = test.values.reshape(-1, IMAGE_WIDTH, IMAGE_HEIGHT, CHANNELS)
predictions = model.predict_classes(test, verbose=1)

TypeError:传递给参数“input”的值的 DataType int64 不在 允许值列表:float16、bfloat16、float32、float64

【问题讨论】:

    标签: mnist tensorflow2.0 kaggle python-3.7


    【解决方案1】:

    正如 TypeError 所说,我认为 test 数据帧包含 int 值,因此您必须将类型更改为像这样浮动:

    test = test.astype('float')
    test = test.values.reshape(-1, IMAGE_WIDTH, IMAGE_HEIGHT, CHANNELS)
    predictions = model.predict_classes(test, verbose=1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-30
      相关资源
      最近更新 更多