tensorflow中的一些函数,中文资料很少,需要翻墙查找外文资料,因此在这里记录下来
tf.train.get_checkpoint_state
该函数被用来获取已保存的checkpoint文件状态
get_checkpoint_state(
checkpoint_dir,
latest_filename=None
)
从checkpoint文件返回CheckpointState原型。
checkpoint_dir: checkpoints的路径
latest_filename: 可选,checkpoint文件的名称. 默认为’checkpoint’
如果状态可用,则返回CheckpointState,否则返回None。
CheckpointState包含model_checkpoint_path和all_model_checkpoint_paths
用例:
if os.path.exists(checkpoint_dir):
not_restore = ['softmax_w:0', 'softmax_b:0']
restore_var = [v for v in tf.global_variables() if v.name.split('/')[-1] not in not_restore]
restored_saver = tf.train.Saver(restore_var, max_to_keep=FLAGS.check_point_every)
ckpt = tf.train.get_checkpoint_state(checkpoint_dir)
if ckpt and ckpt.model_checkpoint_path:
restored_saver.restore(session, ckpt.model_checkpoint_path)
else:
pass
tf.reduce_logsumexp(gold_scores, [1])
计算log(sum(exp(张量的各维数的元素)))。
按照给定的axis上的维度减少input_tensor。除非keep_dims是true,否则张量的秩在axis上的每一项都减少1。如果keep_dims为 true,则减少的尺寸将保留为1。
如果axis没有条目,则缩小所有维度,并返回具有单个元素的张量。
这个函数在数值上比 log(sum(exp(input)))更稳定。它避免了大量输入的 exp 引起的溢出和小输入日志带来的下溢。
x = tf.constant([[0., 0., 0.], [0., 0., 0.]])
tf.reduce_logsumexp(x) # log(6)
tf.reduce_logsumexp(x, 0) # [log(2), log(2), log(2)]
tf.reduce_logsumexp(x, 1) # [log(3), log(3)]
tf.reduce_logsumexp(x, 1, keep_dims=True) # [[log(3)], [log(3)]]
tf.reduce_logsumexp(x, [0, 1]) # log(6)
参数:
input_tensor:张量减少。应该有数字类型。
axis:要减小的维度。如果为None(默认),则减少所有维度。必须在[-rank(input_tensor), rank(input_tensor))范围内。
keep_dims:如果为true,则保留长度为1的减少尺寸。
name:操作的名称(可选)。
reduction_indices:axis的弃用名称。
返回:
减少的张量。
tf.floor
向下取整(element wise)
tf.squeeze
去掉维数为1的维度,降维
For example:
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
shape(squeeze(t)) ==> [2, 3]
Or, to remove specific size 1 dimensions:
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
shape(squeeze(t, [2, 4])) ==> [1, 2, 3, 1]
tf.sequence_mask
sequence_mask(lengths, maxlen=None, dtype=dtypes.bool, name=None)
获取一个mask张量,用来表示前N项的位置
Example:
```python
tf.sequence_mask([1, 3, 2], 5) =
[[True, False, False, False, False],
[True, True, True, False, False],
[True, True, False, False, False]]
```
Args:
lengths: 1D integer tensor, all its values < maxlen.
maxlen: scalar integer tensor, maximum length of each row. Default: use
maximum over lengths.
dtype: output type of the resulting tensor.
name: name of the op.
Returns:
A 2D mask tensor, as shown in the example above, cast to specified dtype.
Raises:
ValueError: if the arguments have invalid rank.