首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >丢失keras中的Nan Resnet-50

丢失keras中的Nan Resnet-50
EN

Stack Overflow用户
提问于 2020-10-20 14:21:29
回答 1查看 158关注 0票数 0

验证损失是nan,但训练损失是好的。

我该怎么解决它呢?

我已经确认数据集中没有NaN值。

代码语言:javascript
复制
from tensorflow import keras

base_model = keras.applications.resnet50.ResNet50(include_top = False, weights='imagenet')

for layer in base_model.layers:
    layer.trainable = False

avg = keras.layers.GlobalAveragePooling2D(name="global_avg")(base_model.output)
output = keras.layers.Dense(1, activation = 'sigmoid', name = "predictions")(avg)
model = keras.Model(inputs = base_model.input, outputs = output, name = "ResNet-50")

optimizer = keras.optimizers.SGD(lr=0.01, momentum=0.9, decay=0.0001, clipnorm = 0.1)
reduce_LROP = keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=0, mode='auto',
    min_delta=0.0001, cooldown=0, min_lr=0)
model.compile(loss=tf.keras.losses.BinaryCrossentropy(), optimizer = optimizer, metrics = ['accuracy'])

history = model.fit(tri, y_train, epochs = 10, batch_size = 32, validation_data = (vai, y_val),
                    callbacks = [reduce_LROP])

EN

回答 1

Stack Overflow用户

发布于 2020-10-20 22:01:09

我买了GIGABYTE RTX 3080游戏oc 10 to用于深度学习,并用它来训练模型。

我在4个环境中测试了相同的脚本:

  1. 3700x +腾讯通3080 (CUDA 10.1)仅
  2. 3700x(无图形处理器)
  3. 其它笔记本电脑(i7 8750H +GTX1050ti)
  4. 3700x+腾讯通3080 (CUDA11.0+CUDN8.0.3)

<代码>G29

除了第一个环境之外,验证损失是正常的。

使用Tensorflow nightly build和CUDA11.0的解决了我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64439540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档