utils.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:EDSR 作者: iwtw 项目源码 文件源码
def upsample( inputs , scale , dim    , upsample_method = "subpixel" ,  activation_fn = None , regularization_scale = 0.0 ):
    "upsample layer"
    act = activation_fn
    if act == None:
        act = tf.identity
    #with tf.variable_scope(scope) as scope :
    if upsample_method == "subpixel":
        if scale == 2 :
            outputs = conv2d(  inputs ,  dim * 2**2, 3 , 1 , he_init = (activation_fn == tf.nn.relu ) , activation_fn = activation_fn ,  regularization_scale = regularization_scale ) 
            outputs = tf.depth_to_space( outputs , 2 )
            outputs = act( outputs )
        elif scale == 3 :
            outputs = conv2d( inputs , dim * 3**2 , 3 , 1 ,  he_init = (activation_fn == tf.nn.relu ) , activation_fn = activation_fn , regularization_scale = regularization_scale  )
            outputs = tf.depth_to_space( outputs , 3 )
            outputs = act( outputs )
        elif scale == 4 :
            outputs = conv2d(  inputs ,  dim * 2**2, 3 , 1 , regularization_scale = regularization_scale  ) 
            outputs = tf.depth_to_space( outputs , 2 )
            outputs = conv2d(  outputs ,  dim * 2**2 , 3 , 1 , he_init = (activation_fn == tf.nn.relu ) , activation_fn = activation_fn , regularization_scale = regularization_scale   ) 
            outputs = tf.depth_to_space( outputs , 2 )
            outputs = act( outputs )
    elif upsample_method == "conv_transpose":
        if scale == 2 :
            outputs = utils.conv2d_transpose( inputs , dim , 3 , 2 , he_init = (activation_fn == tf.nn.relu ) , activation_fn = activation_fn , regularization_scale = regularization_scale   )
            outputs = act( outputs )
        elif scale == 3:
            outputs = utils.conv2d_transpose( inputs , dim , 3 , 3 , he_init = (activation_fn == tf.nn.relu ) , activation_fn = activation_fn , regularization_scale = regularization_scale   )
            outputs = act( outputs )
        elif scale == 4:
            outputs = utils.conv2d_transpose( inputs , dim , 3 , 2 , regularization_scale = regularization_scale )  
            outputs = utils.conv2d_transpose( outputs , dim , 3 , 2 , he_init = (activation_fn == tf.nn.relu ) , activation_fn = activation_fn , regularization_scale = regularization_scale  )
            outputs = act( outputs )

    return outputs
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号