zoukankan      html  css  js  c++  java
  • 118、TensorFlow变量共享(二)

    import tensorflow as tf
    # 在不同的变量域中调用conv_relu,并且声明我们想创建新的变量
    def my_image_filter(input_images):
        with tf.variable_scope("conv1"):
            # Variables created here will be named "conv1/weights" ,"conv1/biases"
            relu1 = conv_relu(input_images, [5, 5, 32, 32], [32])
        with tf.variable_scope("conv2"):
            # Variables created here will be named "conv2/weights" , "conv2/biases"
            return conv_relu(relu1, [5, 5, 32, 32], [32])
    
    
    # 如果你想分享变量,你有两个选择,第一你可以创建一个有相同名字的变量域,使用reuse=True
    with tf.variable_scope("model"):
        output1 = my_image_filter(input1)
    with tf.variable_scope("model", reuse=True):    output2 = my_image_filter(input2)
    
    # 你也可以调用scope.reuse_variables()来触发一个重用:
    with tf.variable_scope("model") as scope:
        output1 = my_image_filter(input1)
        scope.reuse_variables()
        output2 = my_image_filter(input2)
    
    # 因为解析一个变量域的名字是有危险的
    # 通过一个变量来初始化另一个变量也是可行的
    with tf.variable_scope("model") as scope:
        output1 = my_image_filter(input1)
    with tf.variable_scope(scope, reuse=True):
        output2 = my_image_filter(input2)
  • 相关阅读:
    受脑认知和神经科学启发的人工智能
    1分钟爱上管理学
    刻意练习
    课题设计相关
    销售必备心灵鸡汤(转)
    从优秀到卓越
    小记
    何谓成熟?
    三体运动的程序模拟
    行星运动轨迹的程序实现
  • 原文地址:https://www.cnblogs.com/weizhen/p/8451481.html
Copyright © 2011-2022 走看看