【发布时间】:2017-05-17 15:51:38
【问题描述】:
Here,我看了一些风格迁移的tensorflow实现。 具体来说,它定义了要优化的损失。在一个损失函数中,它说: `
def sum_style_losses(sess, net, style_imgs):
total_style_loss = 0.
weights = args.style_imgs_weights
for img, img_weight in zip(style_imgs, weights):
sess.run(net['input'].assign(img))
style_loss = 0.
for layer, weight in zip(args.style_layers, args.style_layer_weights):
a = sess.run(net[layer])
x = net[layer]
a = tf.convert_to_tensor(a)
style_loss += style_layer_loss(a, x) * weight
style_loss /= float(len(args.style_layers))
total_style_loss += (style_loss * img_weight)
`
使用当前会话调用优化器:
optimizer.minimize(sess)
因此会话已启动并正在运行,但在运行期间,它会在 for 循环中进一步调用 runs。任何人都可以解释张量流逻辑,特别是为什么x 包含输入图像的特征向量(而不是样式图像)。对我来说,似乎有两个runs 并行。
【问题讨论】:
标签: python tensorflow deep-learning