我正在尝试使用TF进行一些过滤。我有60张尺寸为1740 x 2340的图像和一张尺寸为16 x 16的guassian滤镜。我跑了一个转换为
strides = [1,1,1,1]
data_ph = tf.constant(data,tf.float32)
filt_ph = tf.constant(filt,tf.float32)
data_format = 'NCHW'
conv = tf.nn.conv2d(data_ph,filt_ph,strides,'SAME',data_format=data_format)
其中
data_ph = <tf.Tensor 'Const:0' shape=(60, 1, 1740, 2340) dtype=float32>
filt_ph = <tf.Tensor 'Const_1:0' shape=(16, 16, 1, 1) dtype=float32>
我尝试使用占位符而不是常量,我也尝试使用tf.FixedLengthRecordReader之类的读者。我每次重复几次实验。第一次运行在12秒内,子结果使用常数在4秒内运行,使用占位符运行5秒。在mxnet中运行的相同实验总是花费1.6秒,在matlab中花费1.5秒。在所有情况下,我都将计算放在GPU上,一个8 GB的Quadro K5200。这是预期的(有些帖子提到TF比其他框架慢)或者我做错了什么?