tensorflow中与pytorch同等作用的函数:
tf.reshape(input, shape) -> input.view(shape)
tf.minium(input, min) -> torch.clamp(input, max)
tf.gather(input1, input2) -> input1[input2]
tf.expand_dims(input, dim) -> input.unsqueeze(dim)
tf.shape(input)[dim] -> input.size(dim)
tf.concat(input1, input2) -> torch.cat(input1, input2)
tf.boolean_mask(input, mask) -> input[mask]
tf.tile(input, shape) -> input.repeat(shape)
tf.logical_and(input1, input2) -> input1 & input2
tf.equal(input1, input2) -> input1 == input2
tf.reduce_logsumexp(input, [dim]) ->
import torch def logsumexp(x, dim=None, keepdim=False): if dim is None: x, dim = x.view(-1), 0 xm, _ = torch.max(x, dim, keepdim=True) x = torch.where( (xm == float('inf')) | (xm == float('-inf')), xm, xm + torch.log(torch.sum(torch.exp(x - xm), dim, keepdim=True))) return x if keepdim else x.squeeze(dim)
tensorflow中词向量获取:
input_emb = tf.gather(tf.get_variable("input_emb", [num, embedding_size]), input)
等价于pytorch中的词向量:
input_embed= nn.Embedding(num, embedding_size)
input_emb = input_embed(input)