背景介绍
本文内容是使用CNN进行文本分类(垃圾邮件分类),代码来源:https://github.com/dennybritz/cnn-text-classification-tf,github上还有许多相似代码,可自行查找。
主要记录文本分类问题中使用tensorflow进行神经网络构建的内容。
目录
一、初始化
def __init__(
self, sequence_length, num_classes, vocab_size,
embedding_size, filter_sizes, num_filters, l2_reg_lambda=0.01):#定义需要输入的参数
#占位符,表示计算图中的某个节点,但没有具体的值
self.input_x = tf.placeholder(tf.int32, [None, sequence_length], name="input_x")
self.input_y = tf.placeholder(tf.float32, [None, num_classes], name="input_y")
self.dropout_keep_prob = tf.placeholder(tf.float32, name="dropout_keep_prob")
# Keeping track of l2 regularization loss (optional)
l2_loss = tf.constant(0.0)#l2正则初始化
备注:tf.constant()
tf.constant(value, dtype=None, shape=None, name='Const')
tensorflow中用于初始化常量tensor,可以使用shape指定形状,使用name进行命名。
import tensorflow as tf
a= tf.constant([1, 2, 3, 4, 5, 6, 7])
b= tf.constant(2