Python Tensorflow - 多次运行 model.fit 而不重新实例化模型

2024-02-21

背景

我正在看一个热门 YouTube 速成课程 https://youtu.be/tPYj3fFJGjk?t=12950关于机器学习。

At 3:35:50 https://youtu.be/tPYj3fFJGjk?t=12950,他提到该模型可能过度拟合,因此用更少的 epoch 再次拟合。

由于他没有重新实例化模型,这是否相当于用相同的数据拟合模型,从而继续过度训练?

我的问题

假设您已创建模型并准备好数据。

You run:

model.fit(train_images, train_labels, epochs=10)
model.fit(train_images, train_labels, epochs=8)

这相当于运行:

model.fit(train_images, train_labels, epochs=18)

Or:

model.fit(train_images, train_labels, epochs=8)

If 之前拟合的数据被覆盖 https://stackoverflow.com/questions/49841324/what-does-calling-fit-multiple-times-on-the-same-model-do,为什么跑步model.fit第二次开始时是否与前一个模型的准确性相同?

In multiple https://stackoverflow.com/questions/42666046/loading-a-trained-keras-model-and-continue-training other https://stackoverflow.com/questions/45393429/keras-how-to-save-model-and-continue-training 问题 https://stackoverflow.com/questions/51854463/is-it-possible-to-retrain-a-previously-saved-keras-model关于保存和训练模型,公认的解决方案是加载先前训练的模型,然后运行model.fit again.

如果这会覆盖预先存在的权重,那么这是否就违背了保存模型的初衷?第一次使用新数据训练模型不是等效的吗?

在多个相似的数据集上训练模型同时保持所有数据的准确性的适当方法是什么?


既然他没有重新实例化模型,那这不就相当于 使用相同的数据拟合模型,从而继续过度训练 它?

你是对的!为了检查在他的示例中哪个纪元数会更好,他应该再次编译网络(即再次执行上述单元)。

请记住,一般来说,每当您再次实例化模型时,它很可能会以全新的权重开始,与过去的权重完全不同(除非您手动更改)。因此,即使您保留相同数量的 epoch,您的最终精度也会根据初始权重而变化。

这两个命令等效吗?

model.fit(train_images, train_labels, epochs=10)
model.fit(train_images, train_labels, epochs=8)

and

model.fit(train_images, train_labels, epochs=18)

No.

在第一种情况下,您正在使用一些权重训练网络X检查所有训练集 10 次,然后将权重更新为某个值y。 然后,您将通过所有训练集再次训练您的网络 8 次,但现在您正在使用带有权重的网络X+y.

对于第二种情况,您将使用权重通过所有训练数据训练网络 18 次X.

这不一样!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Tensorflow - 多次运行 model.fit 而不重新实例化模型 的相关文章

随机推荐

  • 在我的流程中了解 NIFI 中的通知和等待流程

    我是 NIFI 流程的新手 在我当前的工作中 我有通知和等待流程 有人可以帮助我理解这个流程吗 On what basis the Notify work in my case we have 4 schema files process
  • 获取第一行数据(如果存在于 SQLite 中)

    我正在编写一个应用程序 其中如果存在于 SQLite 数据库表中 我需要获取第一行数据 我已经编写了将数据存储到数据库中的代码 但现在我想从数据库中获取第一行数据到 TextView 中 助手类 Select Data public Str
  • Django - 在 render_change_form 中获取对象 ID (ModelAdmin)

    我有这两个模型和 modeladmin 在可用主机用户列表中添加新主机时 仅显示未分配给其他主机的主机用户 问题是 如果我编辑一个已经创建的主机 它的实际主机用户 ID 也会被过滤 所以我想要做的是排除当前分配的主机用户 ID 如何在从主机
  • Chrome 内容脚本不起作用:DOMContentLoaded 侦听器不执行

    我正在尝试编写可纠正 1 个论坛上的拼写错误的扩展代码 我正在尝试访问 p 标签 带有内容脚本 但它不会改变任何内容 使用下面的代码 document addEventListener DOMContentLoaded function d
  • 找不到“UIView”的接口声明

    我正在尝试添加一个目标 C祝酒图书馆 https github com scalessec Toast到我的 xcode 项目 但我收到了一些这样的错误 Cannot find interface declaration for UIVie
  • msiexec.exe - 嵌入

    我正在使用基于云的 EDR 平台来监控客户端受感染网络上发生的进程 我最近经常看到的是使用选项 Embedding 调用 msiexec exe C Windows System32 MsiExec exe Embedding 35507F
  • 当连续输入错误时,循环中断java

    当您连续两次输入随机值 例如 i 时 程序将终止 我希望 无效数据 请重试 和 您想再玩一次吗 不断重复 直到输入 N 或 Y 7 8 5 No numbers match Do you want to play again i Inval
  • 除法不返回我期望的十进制值[重复]

    这个问题在这里已经有答案了 可能的重复 这个部门有什么问题吗 https stackoverflow com questions 704702 whats wrong with this division 如果你分2 3 它应该返回0 66
  • 适用于 OSX 和 Windows 应用程序的 Eclipse info.plist 文件

    当我寻找隐藏 Java 应用程序停靠图标的方法时 我到处都看到info plist 文件这个 and info plist 文件表示 但我没有看到一个 我的问题是如何在 eclipse 中生成 info plist 文件 它属于哪里 当我导
  • 如何在 iPhone 的导航栏中添加右栏按钮

    我想在导航栏中添加一个右栏按钮项目 以便单击时执行某些功能 我创建了以下代码来添加右侧栏按钮项目 但完成后 栏按钮项目没有显示在导航栏中 void viewDidload self navigationItem rightBarButton
  • 从文件夹中的图像序列获取 numpy 数组

    我有一个文件夹 比如说video1一堆按顺序排列的图像frame 00 png frame 01 png 我想要的是格式为 4D numpy 数组 number of frames w h 3 这就是我所做的 但我认为它很慢 有没有更快或更
  • 在哪里可以找到图形命令 shell?

    终端和 shell 非常强大 但学习起来可能很复杂 尤其是要充分利用它们 有谁知道有一个更加基于 GUI 的命令 shell 可以帮助用户或以更友好的方式显示答案 我知道 IPython 但即使它的语法也有点复杂 尽管这是朝着正确方向迈出的
  • 将片段从 GraphQL 文件导入到另一个 GraphQL 文件不起作用

    我正在尝试使用 graphql 文件并传递变量来对空手道进行测试 在我的 graphql 模式上 我试图重用另一个 graphql 文件中的片段 我尝试按照以下说明进行操作https www apollographql com docs r
  • 为什么GetType成功时FindType却获取不到RTTI?

    我正在尝试使用来抓住一个物体TRttiContext FindType QualifiedTypeName 这是我所得到的 program MissingRTTI APPTYPE CONSOLE uses System SysUtils R
  • 我无法让 super() 在 python 2.7 中工作

    通过一对简单的课程 我无法获得超级工作 class A object q foo class B A q bar def init self self a super A self q a B 像这样的错误 AttributeError T
  • Play框架2.4:NoClassDefFoundError:play/api/cache/CachePlugin

    在尝试从 Play 2 2 更新到 Play 2 4 时 我遇到了这个绊脚石 我还添加了 memcached2 插件 但已禁用 我的conf文件 Cache configuration To avoid conflict with play
  • 在 Socket.IO 客户端断开连接时释放事件处理程序

    我正在使用 Socket IO 如本示例所示 io sockets on connection function socket myService on myevent function socket emit myevent some s
  • Spyder - python - 安装外部包

    我刚刚开始使用 python 在 Windows 中 64 位 我有一个关于如何在 anaconda spyder 环境中安装外部包的基本问题 据我所知 对于大多数软件包 可以简单地使用 conda install bunnys 但是 某些
  • 检查tomcat是否运行? [复制]

    这个问题在这里已经有答案了 可能的重复 Tomcat 正在运行吗 https stackoverflow com questions 3944157 is tomcat running hi 我在虚拟机中安装了tomcat服务器 我想每天检
  • Python Tensorflow - 多次运行 model.fit 而不重新实例化模型

    背景 我正在看一个热门 YouTube 速成课程 https youtu be tPYj3fFJGjk t 12950关于机器学习 At 3 35 50 https youtu be tPYj3fFJGjk t 12950 他提到该模型可能