函数 | 作用 |
---|---|
tf.contrib.crf.crf_log_likelihood() |
~~~~~~~~
在一个条件随机场里面计算标签序列的log-likelihood,函数的目的是使用crf来计算损失,里面用到最大似然估计的优化方法, 参数: inputs: 一个形状为[batch_size, max_seq_len, num_tags] 的tensor,一般使用BILSTM处理之后输出转换为他要求的形状作为CRF层的输入, tag_indices: 一个形状为[batch_size, max_seq_len] 的矩阵,其实就是真实标签, sequence_lengths: 一个形状为 [batch_size] 的向量,表示每个序列的长度, transition_params: 形状为[num_tags, num_tags] 的转移矩阵 返回: log_likelihood: 标量,log-likelihood transition_params: 形状为[num_tags, num_tags] 的转移矩阵 |
tf.placeholder() | tf.placeholder( ~~~~~~~~~~~~~~~~~~ dtype, ~~~~~~~~~~~~~~~~~~ shape=None, ~~~~~~~~~~~~~~~~~~ name=None) placeholder()函数是在神经网络构建graph的时候在模型中的占位,此时并没有把要输入的数据传入模型,它只会分配必要的内存 |
tf.nn.embedding_lookup | 选取一个张量里面索引对应的元素(相当于索引) |
tf.Variable | 检测到命名冲突,系统会自己处理 |
tf.get_variable() | 系统不会处理冲突,而会报错 |
tf.nn.sparse_softmax_cross_entropy_with_logits( ~~~~~~~~~~~~~~~~~~ _sentinel=None, ~~~~~~~~~~~~~~~~~~ labels=None, ~~~~~~~~~~~~~~~~~~ logits=None, ~~~~~~~~~~~~~~~~~~ nmae=None) | 函数是将softmax和cross_entropy放在一起计算,对于分类问题而言,最后一般都是一个单层全连接神经网络,比如softmax分类器居多,对这个函数而言,tensorflow神经网络中是没有softmax层,而是在这个函数中进行softmax函数的计算。这里的logits通常是最后的全连接层的输出结果,labels是具体哪一类的标签,这个函数是直接使用标签数据的,而不是采用one-hot编码形式。 |
tf.reduce_mean | 用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值。 reduce_mean(input_tensor, ~~~~~~~~~~~~~~~~~~ axis=None, ~~~~~~~~~~~~~~~~~~ keep_dims=False, ~~~~~~~~~~~~~~~~~~ name=None, ~~~~~~~~~~~~~~~~~~ reduction_indices=None) 第一个参数input_tensor: 输入的待降维的tensor; 第二个参数axis: 指定的轴,如果不指定,则计算所有元素的均值; 第三个参数keep_dims:是否降维度,设置为True,输出的结果保持输入tensor的形状,设置为False,输出结果会降低维度; 第四个参数name: 操作的名称; 第五个参数 reduction_indices:在以前版本中用来指定轴,已弃用 |
tf.global_variables_initializer() | 添加节点用于初始化所有的变量(GraphKeys.VARIABLES)。返回一个初始化所有全局变量的操作(Op)。在你构建完整个模型并在会话中加载模型后,运行这个节点。 |
tf.local_variables_initializer() | 返回一个初始化所有局部变量的操作(Op) |
import argparse //导入命令行解析的库文件 parse=zargparse.ArgumentParser( ~~~~~~~~~~~ description=“test!!” ~~~~~~~~~~~ ) | https://blog.csdn.net/yuyushikuan/article/details/79729660 |
os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘2’ | 设置log输出信息的,也就是程序运行时系统打印的信息。 |
tf.contrib.crf.viterbi_decode | 通俗一点,作用就是返回最好的标签序列 |
tf.contrib.crf.crf_decode | 在TensorFlow中解码最高得分标记序列 https://tensorflow.google.cn/api_docs/python/tf/contrib/crf/crf_decode |
tf.matmul(a, b, ~~~~~~~~~~~~~~~~~~ transpose_a=False, ~~~~~~~~~~~~~~~~~~ transpose_b=False, ~~~~~~~~~~~~~~~~~~ adjoint_a=False, ~~~~~~~~~~~~~~~~~~ adjoint_b=False, ~~~~~~~~~~~~~~~~~~ a_is_sparse=False, ~~~~~~~~~~~~~~~~~~ b_is_sparse=False, ~~~~~~~~~~~~~~~~~~ name=None) | a: 一个类型为 float16, float32, float64, int32, complex64, complex128 且张量秩 > 1 的张量。 b: 一个类型跟张量a相同的张量。 transpose_a: 如果为真, a则在进行乘法计算前进行转置。 transpose_b: 如果为真, b则在进行乘法计算前进行转置。 adjoint_a: 如果为真, a则在进行乘法计算前进行共轭和转置。 adjoint_b: 如果为真, b则在进行乘法计算前进行共轭和转置。 a_is_sparse: 如果为真, a会被处理为稀疏矩阵。 b_is_sparse: 如果为真, b会被处理为稀疏矩阵。 name: 操作的名字(可选参数) |
tf.multiply(x, y, name=None) | 两个矩阵中对应元素各自相乘 |
tf.variable_scope(“conv1”) | 指定变量作用域 |
tf.nn.bidirectional_dynamic_rnn() | cell_fw, # 前向RNN cell_bw, # 后向RNN inputs, # 输入 sequence_length=None,# 输入序列的实际长度(可选,默认为输入序列的最大长度) initial_state_fw=None, # 前向的初始化状态(可选) initial_state_bw=None, # 后向的初始化状态(可选) dtype=None, # 初始化和输出的数据类型(可选) parallel_iterations=None, swap_memory=False, time_major=False, # 决定了输入输出tensor的格式:如果为true, 向量的形状必须为 [max_time, batch_size, depth] . # 如果为false, tensor的形状必须为 [batch_size, max_time, depth] . scope=None 返回的是元组(outputs,output_states) |
深度学习----Tensorflow再命名实体上常用的函数
最新推荐文章于 2022-08-08 11:30:58 发布