在Keras中编译模型后如何动态冻结权重?

2024-01-15

我想在 Keras 中训练 GAN。我的最终目标是开始,但我从最简单的目标开始。理解如何冷冻在这里,适当的权重是必要的,这就是我正在努力解决的问题。

在生成器训练期间,鉴别器权重可能不会更新。我想freeze and unfreeze判别器交替用于交替训练生成器和判别器。问题是设置可训练的参数设置为 false鉴别器模型甚至其权重并不会阻止模型训练(以及权重更新)。另一方面,当我在设置后编译模型时可训练的到 False 权重就变成不可冻结的。我无法在每次迭代后编译模型,因为这否定了整个训练的想法。

由于这个问题,许多 Keras 实现似乎都存在缺陷,或者由于旧版本中的一些非直观技巧或其他原因而无法工作。


几个月前我尝试过这个示例代码并且它有效:https://github.com/fchollet/keras/blob/master/examples/mnist_acgan.py https://github.com/fchollet/keras/blob/master/examples/mnist_acgan.py

这不是最简单的 GAN 形式,但据我记得,去除分类损失并将模型变成 GAN 并不太困难。

您不需要打开/关闭鉴别器的可训练属性并重新编译。只需创建并编译两个模型对象,其中一个带有trainable=True (discriminator在代码中)和另一个trainable=False (combined在代码中)。

当您更新鉴别器时,请调用discriminator.train_on_batch()。当您更新生成器时,请调用combined.train_on_batch().

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

在Keras中编译模型后如何动态冻结权重? 的相关文章

随机推荐

  • Clojure 热代码交换 uberjars/.classes

    我希望在项目更新之间进行热代码交换 但我还没有找到有关如何动态加载 class 文件的任何信息 更具体地说 我想要这样的东西 Make lein uberjar 获得some client 0 0 0 standalone jar 运行它j
  • 设置包未显示在 iPhone 设置中

    我尝试在 iPad 应用程序中添加 设置 捆绑包 但它随机显示在 iPad 设置菜单中 当我在调试模式 设备或模拟器 下运行时 它不会显示 当我在分发模式下构建然后在 iPad A 上部署应用程序时 它会显示 但不会在 iPad B 上显示
  • 如何使用 selenium 绕过 cloudflare [重复]

    这个问题在这里已经有答案了 我用 C 创建了一个 ChromeDriver 我只是用 CloudFlare 访问该网站 我手动解决了验证码 但它给了我一个新的验证码 不让我走 我尝试通过使用 ChromeDriver 的启动参数来使用解决方
  • Flutter 更改对话框背景颜色

    我正在使用dialogBackgroundColor属性仍然颜色没有改变 谁能告诉我如何更改对话框的背景颜色 您现在可以使用backgroundColor的财产AlertDialog改变颜色 AlertDialog backgroundCo
  • 如何读取 AndroidManifest.xml(二进制)文件?

    我正在尝试读取 AndroiadManifest xml 文件的内容 该文件似乎采用 DBase 3 数据文件 二进制格式 Java中有关于如何读取这个二进制文件的代码示例吗 我不需要写 只需阅读文本内容即可 第1步 首先您需要使用apkt
  • 更改 Angular ui-bootstrap 模板的文件夹位置

    我正在尝试将 ui bootstrap min js 与外部模板一起使用 我收到的错误是 http localhost 13132 Place template timepicker timepicker html 404 Not Foun
  • 验证 MPD 文件 - 使用 MPEG-DASH

    我刚刚开始使用 MPEG DASH 从客户端 遵循 c057623 ISO IEC 23009 1 2012 规范 有谁知道是否有公共库或开源来验证我收到的 MPD 文件 我处理xml没有问题 任何帮助将不胜感激 您可能想检查一下MPEG
  • 获取字符串中当前的纬度和经度

    我想得到latitude and longitude但有时network is available但我没有得到价值latitude and longitude 我在用我的位置监听器类和放置条件除了某些时间之外value没有得到 protec
  • db4o 和/或 Eloquera 数据库的真实体验

    我正在评估两个对象数据库 db4o http www db4o com http www db4o com 和 Eloquera 数据库 http eloquera com http eloquera com 对于即将到来的项目 我必须选择
  • 将请求转发到 Spring MVC 中的另一个控制器

    我想知道是否有一种方法可以将请求从一个控制器转发到另一个控制器 而无需实际更改浏览器中的 URL RequestMapping value myurl public ModelAndView handleMyURL if somecondi
  • 如何以表格形式相邻调用列表中的 2 个连续项目?

    基本上我有一个包含新闻标题的列表视图 第一个标题覆盖顶部 备用标题覆盖第二部分 第三个标题覆盖第三部分 第二个和第三个在列表中是连续的 第一个标题仍然是唯一的标题 列表 我以编程方式将其定义如下 public class NewsListA
  • 向 MKPointAnnotation 添加按钮?

    我只是写了几行代码 然后在尝试向注释点添加详细信息按钮时陷入困境 我不知道如何操作 有谁知道这是怎么做到的吗 下图显示了我想要实现的目标 谢谢 https i stack imgur com kK1Ox jpg https i stack
  • 谷歌浏览器添加了额外的div?

    大家好 我不知道你们怎么想 但我发现在 ubuntu 中 Google Chrome 在 HTML 的 body 底部添加了一个无用的 div 和 z index 1 我可以在任何网页上看到这一点 并且该 div 覆盖了整个页面 这使得 z
  • 在 vuejs 中的图像中包含 router-link 标签

    我可以将 router link 标签包装或封装在图像标签中吗 当我单击图像时 我希望它能够将我路由到所需的页面 是的 你可以 但情况恰恰相反 你需要用 router link 标签包裹你的图像
  • 在 Silverlight 导航应用程序的资源字典中解析故事板中的目标名称

    我有一个故事板 可以在导航上为椭圆设置动画 页面控件 只要我将 Storyboard 保留在 UserControl Resources 内 动画运行就没有问题 我将故事板移至资源词典中 使其可用于多个页面 我可以按预期访问 Storybo
  • C程序连接mysql

    我正在开发一个简单的 C 程序 它必须连接到我的数据库 然后执行查询 然后关闭连接 int main MYSQL conn conn mysql init NULL if conn NULL printf Error u s n mysql
  • 使用 python w/rest api 与 Azure Key Vault 交互

    我对使用最近发布的新服务在 Azure 中进行秘密管理非常感兴趣 我找到了一些示例指南 介绍了如何通过 powershell cmdlet 和 C 与 Key Vault 进行交互 但是还没有找到太多关于开始使用其余 API 的信息 我特别
  • 类型“JavaCompile”属性“options.compilerArgumentProviders.apt$0.name”缺少输入或输出注释。升级到Gradle 7后出现错误

    升级到 Gradle 7 0 并进行构建后 我遇到以下失败 gt Task compileJava FAILED FAILURE Build failed with an exception What went wrong Some pro
  • 调整火狐浏览器中输入类型=“文件”浏览按钮的大小?

    无论如何 是否可以使用CSS或JS来调整firefox中输入类型 文件 浏览按钮的大小 我知道您无法更改按钮的文本 但我需要做的就是使该按钮在 Firefox 中更宽 所以使用 moz css 规则将是完美的 出于安全原因 文件输入按钮的样
  • 在Keras中编译模型后如何动态冻结权重?

    我想在 Keras 中训练 GAN 我的最终目标是开始 但我从最简单的目标开始 理解如何冷冻在这里 适当的权重是必要的 这就是我正在努力解决的问题 在生成器训练期间 鉴别器权重可能不会更新 我想freeze and unfreeze判别器交