我从各种教程中学习Tensorflow,并且想知道是否可以为卷积网定义自定义过滤器。例如,如果我知道要素中有有意义的结构,使得每个其他要素都相关,我想要定义一个看起来像[0 1 0 1 0 1]的过滤器。
tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None)
到目前为止,我见过的所有例子都使用了:
tf.random_normal
或
tf.truncated_normal
用于过滤器参数。我是否可以将[0 1 0 1]放入过滤器参数中,这对我有意义吗?
答案 0 :(得分:3)
你当然可以!您可以在卷积滤镜中放置任何(浮点)值。
但是,卷积滤镜中的值通常是变量,其值Tensorflow在训练期间学习,而不是常量。 “tf.random_normal”和“tf.truncated_normal”值仅用于设置过滤器的初始值。这些变量的值将在训练期间通过梯度下降算法进行更新。
有关使用卷积神经网络进行训练的示例,请查看此处的教程: https://www.tensorflow.org/versions/r0.9/tutorials/deep_cnn/index.html
希望有所帮助!
答案 1 :(得分:0)