使用Tensorflow训练VAE并切换到PyTorch时出错

时间:2020-10-03 08:04:35

标签: python tensorflow deep-learning pytorch autoencoder

我正在尝试实现一种变体自动编码器,该编码器旨在执行无监督的天文图像分类(并可能生成)。每个图像的大小为63x63x3像素。在tensorflow中实现它的问题是有太多错误不断出现。最初在“渴望执行的输入不能是keras符号张量”上存在错误,因此我不得不使用 constructor(updates: SwUpdate) { // Make sure we run on an updated version if (updates.isEnabled) { // Ask user for permission to update once a new update is registered updates.available.subscribe(() => { if (confirm('A newer version of the application is available. Load the new version?')) { updates.activateUpdate().then(() => document.location.reload()); } }); // Check every 5 minutes for updates timer(0, 5 * 60 * 1000).subscribe(n => updates.checkForUpdate()); } else { console.log('SW not enabled!'); } } 作为experimental_run_tf_function=FALSE的参数。之后,模型开始训练,但损失函数为model.compile。我使用Xavier常规初始化,尝试更改学习率,甚至通过包含nan来检查具有nan值的输入,但是现在又出现另一个错误,指出了不兼容的输入形状。以前,每个图层的输入都是兼容的形状。

我听说Tensorflow 2.3.0存在问题,因此我将版本降级为1.15.2。但是问题仍然存在。

我认为,Tensorflow在典型的ConvNets和密集的神经网络上确实能很好地工作,但是在实现VAE方面似乎效果不佳。我没有使用PyTorch的经验。这是切换到PyTorch实施VAE的要点吗?

我也包括了我的代码。请建议是否可以进行任何更改,或者最好切换到PyTorch。

np.count_nonzero(np.isnan())

0 个答案:

没有答案