conv-neural-network - 运行模型。多次评估结果不同的精度和损失值 tensorflow 2
问题描述
我已经训练了一个dataset = tf.data.Dataset.from_tensor_slices((data, label))
用于创建数据集的 CNN 网络。训练进行得很顺利,但是在测试数据集上评估模型每次都会产生不同的值,而不会更改测试数据集或网络中的任何内容,而且我没有使用任何Dropout
或Batchnormalization
:
如有必要,我的代码:
model = tf.keras.Sequential([
Input((1,30,30)),
Conv2D(filters = 8, kernel_size=(3,3), padding="same", activation="relu", name="c1", data_format="channels_first"),
Conv2D(filters = 16, kernel_size=(3,3), padding="same", activation="relu", name="c2", data_format="channels_first"),
MaxPool2D(pool_size=(2,2), strides=(1,1),padding="same", name="m1", data_format="channels_first"),
Conv2D(filters = 16, kernel_size=(3,3), padding="same", activation="relu", name="c3", data_format="channels_first"),
MaxPool2D(pool_size=(2,2), strides=(1,1),padding="same", name="m2",data_format="channels_first"),
Flatten(),
Dense(256, activation="relu", use_bias=True),
Dense(5, use_bias=True)])
model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=["accuracy"])
model.fit(train_data, verbose=1, validation_data=valid_data, epochs=20)
model.evaluate(test_data)
解决方案
推荐阅读
- ssl - Gradle 任务 - Https 请求 - 附加客户端证书
- ios - 尝试在 iOS 中解析动态 JSON
- ios - 如何解决此错误:无法将类型“__NSCFString”(0x10354a248)的值转换为“UIImage”(0x104c42b48)
- python - Python中的块对角Schur分解
- java - 如何使用 URI + STRING(用户输入)
- java - Spring NamedJDBCTemplate 在执行插入语句时为 SQL 提供未分类的 SQLException
- prolog - 通过类似宏的元编程创建 Prolog 谓词
- android-tv - Android 电视在睡觉后卡顿(小米盒子 4)
- python - 如何为刽子手游戏创建列表和测试
- javascript - 提交后的控制台日志显示 Uncaught TypeError: $.ajax is not a function for my Wordpress site