首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在tensorflow中训练模型时的Epochs问题

在tensorflow中训练模型时的Epochs问题
EN

Stack Overflow用户
提问于 2019-12-22 11:02:51
回答 1查看 65关注 0票数 0

因此,我是TensorFlow2.0的新手,正在尝试训练一个简单的模型,将摄氏度转换为华氏温度。代码如下:

代码语言:javascript
复制
import tensorflow as tf
import numpy as np 
import matplotlib.pyplot as plt

c = np.array([-40, -10, 0, 8, 15, 22, 38], dtype = float)
f = np.array([-40, 14, 32, 46, 59, 72, 100], dtype = float)

lyr = tf.keras.layers.Dense(units = 1, input_shape = [1])
mod = tf.keras.Sequential([lyr])

mod.compile(loss = "mean_squared_error", optimzer = tf.keras.optimizers.Adam(0.1))

hist = mod.fit(c, f, epochs = 5000, verbose = False)

plt.xlabel("Epoch Number")
plt.ylabel("Loss Magnitude")
plt.plot(hist.history["loss"])
plt.show()

print(mod.predict([100.0]))

该模型应该只需要500个历元就能产生一个精确值,但它至少需要5000个历元才能获得精确值。发生这种情况的原因可能是什么?

EN

回答 1

Stack Overflow用户

发布于 2019-12-23 20:55:36

您的代码在model.fit method.Please中使用epochs=10000作为参数,请使用以下代码:

代码语言:javascript
复制
import tensorflow as tf
import numpy as np 
import matplotlib.pyplot as plt

c = np.array([-40, -10, 0, 8, 15, 22, 38], dtype = float)
f = np.array([-40, 14, 32, 46, 59, 72, 100], dtype = float)

lyr = tf.keras.layers.Dense(units = 1, input_shape = [1])
mod = tf.keras.Sequential([lyr])

mod.compile(loss = "mean_squared_error", optimzer = tf.keras.optimizers.Adam(0.1))

hist = mod.fit(c, f, epochs = 5000, verbose = False)

plt.xlabel("Epoch Number")
plt.ylabel("Loss Magnitude")
plt.plot(hist.history["loss"])
plt.show()

print(mod.predict([100.0]))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59441336

复制
相关文章

相似问题

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