python 项目代码知识点

mac2025-07-21  5

if __name__ == '__main__': #只有当直接执行这个文件才会被执行tf.app.flags 可以指定运行时的参数;设置随机数的种子:np.random.seed(0) 、tf.set_random_seed(0);使用debug 跟踪项目进行学习;tenforflow 是静态图计算,先把图绘制好,再加入数据;静态图,适合语料库中句子长度差距不大,static_rnn动态图,适合语料库中句子长度差距大,dynamic_rnn一层lstm 只有一个cellSeq2Seq 的参数 N、V、S、Mos.path.join() 路径拼接防止梯度爆炸的有效方法:梯度截断法。限制梯度的导数的大小。梯度爆炸的表象是损失值不减反增梯度下降求导的目的:1、求得方向 ;2、求出导数绝对值softmax输出归一化的分类概率机器翻译-词对齐,词语对齐的目标是得到中英文词或短语的对齐信息,便于翻译系统做解码时寻找相应的phrase。tf.variable与tf.get_variable 生成变量的方法 val = tf.variable(tf.constant(1.0,shape=[1],name="val")) val = tf.get_variable("val",1.0,shape=[1],initializer = tf.constant_initializer(1.0)) #这两种方法生成变量的方法几乎是等效的,区别是: #tf.get_variable是根据变量名称生成变量的,因此如果变量名称重复时,则会报错; 二、tf.variable_scope管理变量名 #在命名空间foo内创建变量名为val的变量val1 with tf.variable_scope("foo"): val1 = tf.get_variable("val",1.0,shape=[1],initializer = tf.constant_initializer(1.0)) #在命名空间foo内获取变量名为val的变量,定义为val2,因为处于同一命名空间,则val2 = val1,设定,refuse = True代表允许直接获取已经声明的变量; with tf.variable_scope("foo",refuse = True): val2 = tf.get_variable("val",1.0,shape=[1]) #但下,以下情况则会出错,因为foo1中并没有变量val,因此报错。 with tf.variable_scope("foo1",,refuse = True): val2 = tf.get_variable("val",1.0,shape=[1]) #正确的写法因如下,创建新的变量名对需对变量进行初始化 with tf.variable_scope("foo1"): val2 = tf.get_variable("val",1.0,shape=[1],tf.constant_initializer(1.0)) 求平均值,tf.reduce_mean(output,axis=0)拼接, tf.concat([a,b],0) 前面是需要拼接的列表,后面是在哪个维度上进行拼接句子比较长的时候,选择每个时刻的状态和输出;句子比较短的时候,选择最终的状态和输出Beamsearch 定向搜索attention里面的 linear 代表映射with tf.device('/cpu:0)' 指定设备random_number = np.random.random_sample() 均匀分布产生的随机数 0-1之间,便于根据不同的样本数量进行采样。
最新回复(0)