tf.placehoder函数
Tensorflow中的palceholder,中文翻译为占位符
在代码层面,每一个tensor值在graph上都是一个op,当我们将train数据分成一个个minibatch然后传入网络进行训练时,每一个minibatch都将是一个op,这样的话,一副graph上的op未免太多,也会产生巨大的开销;于是就有了tf.placeholder(),我们每次可以将 一个minibatch传入到x = tf.placeholder(tf.float32,[None,32])上,下一次传入的x都替换掉上一次传入的x,这样就对于所有传入的minibatch x就只会产生一个op,不会产生其他多余的op,进而减少了graph的开销。
原文链接:https://blog.csdn.net/hgnuxc_1993/article/details/118164675
在使用tensorflow2.0版本时,出现RuntimeError:tf.placeholder() is not compatible with eager execution.的问题
两种解决办法:
一、
在import tensorflow as tf 后加上
tf.compat.v1.disable_eager_execution()
关闭紧急执行,这种情况会导致v2版本中的一些更新的行为,不能使用
二、
ImportError: DLL load failed: 页面文件太小,无法完成操作
解决办法:参考链接
conv2d_v2() got an unexpected keyword argument ‘filter’
解决办法:把filter改成filters
padding参数为SAME和VALID的区别
padding=valid表示without padding,padding=same表示with zero padding
inputs: 1 2 3 4 5 6 7 8 9 10 11 (12 13)
|________________| dropped
|_________________|
pad| |pad
inputs: 0 |1 2 3 4 5 6 7 8 9 10 11 12 13|0 0
|________________|
|_________________|
|________________|
(1)如果参数是‘’SAME’’,那么计算只与步长有关,直接除以步长 W / S(除不尽,向上取整)
(2)如果参数是‘VALID’,那么计算公式如上:(W – F + 1) / S (结果向上取整)