Machine learning 在Tensorflow中4d张量是什么意思?

Machine learning 在Tensorflow中4d张量是什么意思?,machine-learning,tensorflow,convolution,Machine Learning,Tensorflow,Convolution,我需要沿着固定大小的文本行执行卷积。因此,本质上,培训示例的形式是:1*N_特征,其中N_特征等于3640(140个字符编码为一个热字符,因此40*26=3640)。我试图理解这个例子,确切地说: def my_conv_model(X, y): X = tf.reshape(X, [-1, N_FEATURES, 1, 1]) # to form a 4d tensor of shape batch_size x n_features x 1 x 1 features = skf

我需要沿着固定大小的文本行执行卷积。因此,本质上,培训示例的形式是:
1*N_特征
,其中
N_特征
等于3640(140个字符编码为一个热字符,因此40*26=3640)。我试图理解这个例子,确切地说:

def my_conv_model(X, y):
   X = tf.reshape(X, [-1, N_FEATURES, 1, 1])  # to form a 4d tensor of shape batch_size x n_features x 1 x 1
   features = skflow.ops.conv2d(X, N_FILTERS, [WINDOW_SIZE, 1], padding='VALID') # this will give you sliding window of WINDOW_SIZE x 1 convolution.
   pool = tf.squeeze(tf.reduce_max(features, 1), squeeze_dims=[1])
   return return skflow.models.logistic_regression(pool, y)
我不明白为什么在这方面:

 features = skflow.ops.conv2d(X, N_FILTERS, [WINDOW_SIZE, 1], padding='VALID') 
我们有:
[WINDOW\u SIZE,1]
而不是
[1,WINDOW\u SIZE]
? 因为据我所知,卷积应按如下方式执行:

training example: '001010101000100101'
sliding window:   |---|
                   |---|
                    |---| 

依此类推,每个窗口的大小为[1,window_size],因为其高度为1,宽度为3。但是为什么给出的例子说“
features=skflow.ops.conv2d(X,N\u过滤器,[WINDOW\u SIZE,1],padding='VALID'
)”?

一个四维张量正是它所表示的:一个四维张量(下标,特征,…)


一维滑动窗口的符号是一种符号约定。为了方便起见,我们将有效维度放在第一位,并将1大小保留在最后。因此,一个3宽的切片(1-D窗口)作为一个3x1窗口给出。

一个4-D张量正是它所表示的:一个具有四个维度(下标、特征等)的张量


一维滑动窗口的符号是一种符号约定。为了方便起见,我们将有效维度放在第一位,并将1大小保留在最后。因此,一个3宽的切片(1-D窗口)作为一个3x1窗口给出。

我是否正确地认为一个3宽1高的“扩展”形式是[1,1,3,1]的形状?另外,您如何确定哪个维度是重要的?是的,[1,1,3,1]是我阅读API的方式。“重要”并不是一个真正的技术术语:它指的是我们感兴趣的任何信息。任何限制为1的维度都只是一个占位符。同样,彩色图像的“不重要”维度为3,即RGB分量。我是否正确地理解了“扩展”形式的3宽1高的形状[1,1,3,1]?另外,您如何确定哪个维度是重要的?是的,[1,1,3,1]是我阅读API的方式。“重要”并不是一个真正的技术术语:它指的是我们感兴趣的任何信息。任何限制为1的维度都只是一个占位符。同样,彩色图像的“不重要”维度为3,即RGB分量。