专栏名称: 待字闺中
深度分析大数据、深度学习、人工智能等技术,切中实际应用场景,为大家授业解惑。间或,也会介绍国内外相关领域有趣的面试题。
目录
相关文章推荐
程序员小灰  ·  以后是彻彻底底的小生意时代 ·  22 小时前  
伯乐在线  ·  美国 IT 业裁员狂飙 ... ·  13 小时前  
伯乐在线  ·  美国 IT 业裁员狂飙 ... ·  13 小时前  
阿里云云栖号  ·  重磅发布 ... ·  19 小时前  
极客之家  ·  视频一键转图文,这款开源的 AI ... ·  4 天前  
程序员的那些事  ·  不到 2 个月,OpenAI 火速用 ... ·  4 天前  
51好读  ›  专栏  ›  待字闺中

不当花瓶当学霸,暮光女 Kristen Stewart 带你揭开 Prisma 背后原理

待字闺中  · 公众号  · 程序员  · 2017-05-20 08:57

正文

请到「今天看啥」查看全文


, content_image ): content_layer_names = [ 'conv3_1/conv3_1' ] # we use the toppest layer for content loss layers = model . get_layer_tensors ( content_layer_names ) content_dict = model . create_feed_dict ( image = content_image ) content_values = session . run ( layers , feed_dict = content_dict ) content_values = tf . constant ( value ) stylized_values = layers #laybers will be evaluated during runtime with model . graph . as_default (): layer_losses = [] for v1 , v2 in zip ( content_values , stylized_values ): loss = mean_squared_error ( v1 , v2 ) layer_losses . append ( loss ) total_loss = tf . reduce_mean ( layer_losses ) return total_loss

计算风格偏差

比较两个图片的风格偏差会稍微复杂一点。如何用数学的式子体现两个内容完全不同的图片,风格一样呢?光光比较他们的特征是不够的,因为一个图里有桥,另一个图里可能没有。因此我们要比较两个图的特征互相之间的关系。这简直是一个天才的想法!我们用 Gram Matrix 来描述多个特征相互之间的关系,然后来比较两个图的 Gram Matrix 的距离来衡量风格的相似程度。如果 Gram Matrix 相近,即特征相互之间的关系相近,那也就说明风格相近。 与内容偏差不同,风格偏差与宏观微观的都有关系,所以我们又算出每一层的风格偏差,再求一个加权平均就好了。

Tensorflow 代码实现

def gram_matrix(tensor):
	#gram matrix is just a matrix multiply it's transpose
    
    shape = tensor.get_shape()    
    num_channels = int(shape[3])
    matrix = tf.reshape(tensor, shape=[-1, num_channels])

    gram = tf.matmul(tf.transpose(matrix), matrix)
    return gram 
    def create_content_loss(model, content_image):






请到「今天看啥」查看全文