TensorFlow个人笔记1---Parametric_relu && Batch normalization

 

        1.Parametric_relu的TensorFlow实现

            def parametric_relu(_x):
            alphas = tf.get_variable('alpha',_x.get_shape()[ - 1 ],
            初始值设定项 = tf.constant_initializer(0.0),

            D型 = tf.float32)

            pos = tf.nn.relu(_x)

            neg = alphas *(_ x - abs(_x))* 0.5

            返回 pos + neg

参考链接:HTTPS://stackoverflow.com/questions/39975676/how-to-implement-prelu-activation-in-tensorflow 

2.批量归一化的TensorFlow实现

   批量标准化原理:

bn = tf.contrib.layers.batch_norm(conv,center = Truescale = True

衰减 = 0.9is_training = is_train,

updates_collections =

返回

 

3.遇到的问题:

    在2中,如果将bn直接添加到推理中,测试会报错“NotFoundError:  Key <variable_name>在检查点Tensorflow中找不到   ”。因为训练参数只在内存中,没有存到检查点文件中,知道怎么解决这个问题。

相关问题链接:https ://stackoverflow.com/questions/45179556/key-variable-name-not-found-in-checkpoint-tensorflow/45194315#45194315

    但是,将BN直接写进之前定义的函数里(例如conv2d),就可以成功训练和测试了。 

猜你喜欢

转载自blog.csdn.net/AnySomeday/article/details/80150503