NLP-使用tensorflow构建神经网络——卷积层和池化层细节说明

本文详述使用TensorFlow构建神经网络的CNN模型,重点讲解卷积层(tf.nn.conv2d)和池化层(tf.nn.max_pool)的实现及细节,包括tf.truncated_normal、tf.concat和tf.reshape的用法,以及ReLU激活函数的作用和优化神经网络的方法。
摘要由CSDN通过智能技术生成

背景介绍

本文内容是使用CNN进行文本分类,主要记录文本分类问题中使用tensorflow进行神经网络构建的内容。此篇承接上一篇的NLP-使用tensorflow构建神经网络——嵌入层细节部分说明

目录


一、CNN模型图

这里写图片描述
图片来源:论文Convolutional Neural Networks for Sentence Classification


二、卷积和池化代码

     # Create a convolution + maxpool layer for each filter size
        pooled_outputs = []#初始化空的list
        for i, filter_size in enumerate(filter_sizes):#遍历卷积核种类,size=2、size=3、、、
            with tf.name_scope("conv-maxpool-%s" % filter_size):
                #建立一个名称为’conv-maxpool-‘的模块
                #  Convolution Layer
                filter_shape = [filter_size, embedding_size, 1, num_filters]
                #卷积核参数:高*宽*通道*卷积核个数,图片中最左侧所示
                W = tf.Variable(tf.truncated_normal(filter_shape, stddev=0.1), name="W")
                # W表示截断产生正态分布数据,方差为0.1,变量维度为filter_shape的张量
                b = tf.Variable(tf.constant(0.1, shape=[num_filters]), name="b")
                # b表示变量维度为卷积核个数,数值为0.1的张量
                conv = tf.nn.conv2d(#实现卷积
                    self.embedded_chars_ex
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值