我正在尝试实现一种变体自动编码器,该编码器旨在执行无监督的天文图像分类(并可能生成)。每个图像的大小为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())