Here,我读了一些样式转移的张量流实现。 具体而言,它定义了随后要优化的损失。在一个损失函数中,它说: `
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循环中调用run
。任何人都可以使用张量流逻辑,特别是为什么x
包含输入图像的特征向量(而不是样式图像的特征向量)。对我来说,似乎有两个runs
并行。
答案 0 :(得分:0)
github repo的代码如下:
init_op = tf.global_variables_initializer()
sess.run(init_op)
sess.run(net['input'].assign(init_img))
optimizer.minimize(sess)
session
计划要在设备上运行的操作并保存一些变量。它可用于在不同(子)图上安排许多操作。所以在会话上面的代码中