给小白入门看:tensorflow输入维度

输入全连接层,一定要把tensor调整为二维的,比如[None, 512].
输入LSTM之前,要把维度调整为三维的,比如[None, 20,60],None是batch_size随意的意思,20代表循环输入20个时间戳,60代表每个时间戳有60个特征属性。
再看LSTM层的神经单元数对输出的影响:

lstm_layer2 = tf.keras.layers.LSTM(30, return_sequences=True)
model2 = tf.keras.models.Sequential([lstm_layer2])
model2.build(input_shape=[1,5,3])
model2.summary()

给小白入门看:tensorflow输入维度_第1张图片LSTM设置有30个神经元,所以输出为30维的,然后由于return_sequences=True,即每迭代一个单词,都要输出一次,所以中间维度是5(每个句子5个单词),输出的第一维是batch_size.
如果设置为return_sequences=False,默认是这样,输出为(1,30),没有中间的单词维度了。如下:
给小白入门看:tensorflow输入维度_第2张图片
LSTM(N)的单元数N,影响的是LSTM的内部神经元数目和参数量。

你可能感兴趣的:(tensorflow应用,python,tensorflow)