tensorflow与pytorch

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)

 

你可能感兴趣的:(踩坑系列)