标准的使用技巧.详细介绍可以参考《深度学习之TensorFlow:工程化项目实战》一书第6章
1.3 坑1 :keras自定义模型的默认输入
如果在TF1.x中代码第1.2小节第7行会有问题,它是一个函数不能充当一个层...这是个很难查出原因的错误.一个隐形的坑.所以最好还是用Lambda封装成一个层来使用,封装后,运行2次将不会报错.
【坑】:在使用Lambda时,被封装的函数必须只能有一个参数....Samplingfun没有收到z_log_var
1.4 损失函数和编译模型
用二进制交叉熵做重建损失,在配合KL散度损失,具体代码如下:
def vae_loss(x, x_decoded_mean...在编译模型时,可以不需要再指定损失了.
2.2 坑2:向模型中加入损失张量
最常见的坑,就是使用1.4节的方法,将张量损失编译到模型里.写法如下:
autoencoder.compile(optimizer...在训练时可以直接使用1.6小节的fit方法即可
3.2 坑4:损失函数的参数固定
一定要注意,损失函数的参数是固定的(第一个是标签,第二个是预测值).如果将vae_lossfun,的参数改变,
def