工作中用卷积方法进行自然语言处理(NLP)相关任务,用到了tensorflow中的一些函数及方法:
tf.nn.conv1d
tf.layters.conv1d
用cov2d实现cov1d
两种池化操作
不同核尺寸卷积操作
下面分别介绍
tf.nn.conv1d:
函数形式:
tf.nn.conv1d(value, filters, stride, padding,
use_cudnn_on_gpu=None, data_format=None,
name=None):
程序举例:
import tensorflow as tf
import numpy as np
sess = tf.InteractiveSession()
# --------------- tf.nn.conv1d -------------------
inputs=tf.ones((64,10,3)) # [batch, n_sqs, embedsize]
w=tf.constant(1,tf.float32,(5,3,32)) # [w_high, embedsize, n_filers]
conv1 = tf.nn.conv1d(inputs,w,stride=2 ,padding='SAME') # conv1=[batch, round(n_sqs/stride), n_filers],stride是步长。
tf.global_variables_initializer().run()
out = sess.run(conv1)
print(out)</