说明:
- 生成器基本结构都是卷积网络
- 缩写含义:SN - 谱归一化(Spectral Normalization);EMA - 权重滑动平均(Exponential Moving Average)
- 训练数据集使用CASIA-maxpy-clean,去除单色图片
iter 3000 | iter 5000 |
---|---|
iter 3000 | iter 5000 |
---|---|
iter 3000 | iter 5000 |
---|---|
iter 3000 | iter 5000 |
---|---|
iter 3000 | iter 5000 |
---|---|
iter 3000 | iter 5000 |
---|---|
iter 3000 | iter 5000 |
---|---|
iter 3000 | iter 5000 |
---|---|
iter 3000 | iter 5000 |
---|---|
iter 3000 | iter 5000 |
---|---|
iter 3000 | iter 5000 |
---|---|
iter 3000 | iter 5000 |
---|---|
运行参数:
img_img_dim = 64
z_dim = 100
L1_or_L2 = 'L1'
batch_size = 64
iter 10000 | |
---|---|
无EMA | |
EMA |
diff --git a/keras/engine/training.py b/keras/engine/training.py
index 0a556f21..1a9a374e 100644
--- a/keras/engine/training.py
+++ b/keras/engine/training.py
@@ -328,7 +328,7 @@ class Model(Network):
self.train_function = K.function(
inputs,
[self.total_loss] + metrics_tensors,
- updates=updates + metrics_updates,
+ updates=updates + metrics_updates + (self._other_metrics if hasattr(self, '_other_metrics') else []),
name='train_function',
**self._function_kwargs)
EMA的实现见keras/utils.py
中ExponentialMovingAverage
。使用EMA的例子见keras/dcgan_sn_ema.py
。
最新代码中的EMA已不需要此patch