精华内容
下载资源
问答
  • Tensor

    千次阅读 2017-06-21 20:57:24
    在 TF 中,一个张量如下表述:my_tensor = tf.constant(0., shape=[6,3,7]) print(my_tensor) # -> Tensor("Const_1:0", shape=(6, 3, 7), dtype=float32) 一个张量应该包含如下内容: 一个名字,它用于键值对的存储...

      在 TF 中,一个张量如下表述:

    my_tensor = tf.constant(0., shape=[6,3,7])
    print(my_tensor) # -> Tensor("Const_1:0", shape=(6, 3, 7), dtype=float32)
    

      一个张量应该包含如下内容:

    • 一个名字,它用于键值对的存储,用于后续的检索: Const: 0
    • 一个形状描述, 描述数据的每一维度的元素个数:(6,3,7)
    • 数据类型,比如 float32

      从向量空间到实数域的多重线性映射(multilinear maps)。

      在 TensorFlow 中用 tensor 数据结构来代表所有的数据, 计算图中, 操作间传递的数据都是 tensor。

      张量是一个拥有 n 维度的数组,并且其中的值都拥有相同的类型,比如整型,浮点型,布尔型等等。

      张量可以用我们所说的形状来描述:我们用列表(或元祖)来描述我们的张量的每个维度的大小

    不同维度的Tensor 俗称 表示方法
    n 维度的张量 多维数组 (D_0, D_1, D_2, …, D_n-1)
    W x H 大小的张量 矩阵 (W, H)
    尺度是 W 的张量 向量 (W, )
    0维度的张量 标量 ()或(1, )

      注意: D_*,W,H 都是整型。


    Tensor 种类 Annotation
    常值张量(constant) 是不需要初始化的。
    变量(Variable) 是维护图执行过程中的状态信息的. 需要它来保持和更新参数值,是需要动态调整的。必须先通过 tf.global_variables_initializer() 初始化,然后才有值。


    展开全文
  • Does anyone know the name of the output tensor of this model? Thank you. <p>Here's the name of all tensors in ckpt: tensor_name: yolov3/darknet53_body/Conv_10/BatchNorm/beta tensor_name: yolov3/...
  • tensor2tensor

    千次阅读 2017-08-12 11:47:11
    tensor2tensor to train all the need is attention model

    tensor2tensor to train all the need is attention model

    参数定义:

    通过 create_experiment调用train_utils.create_hparams,调用函数problem_hparams.problem_hparams,之后调用transormer,transformer调用common_hparams得到基本的模型参数,并在transformer中补充参数.

    模型调用:

    trainer_utils._cond_on_index调用fn(cur_idx),fn为trainer_utils.model_fn.nth_model,调用

    t2t_model._with_timing.fn_with_timing调用fn,fn调用transformer.model_fn_body得到loss,logits.

    训练数据生成:

    函数为tensor2tensor/bin/t2t-datagen.py

    对于每个任务和数据集,都分别定义了其数据生成函数,所有任务数据处理函数定义在词典_SUPPORTED_PROBLEM_GENERATORS中

    例如要训练en-fr的attention is all you need模型,其数据处理函数定义为:

    “wmt_enfr_tokens_32k”: ( lambda: wmt.enfr_wordpiece_token_generator(FLAGS.tmp_dir, True, 2**15), lambda: wmt.enfr_wordpiece_token_generator(FLAGS.tmp_dir, False, 2**15))

    enfr_wordpiece_token_generator定义在wmt中,代码如下:
    def enfr_wordpiece_token_generator(tmp_dir, train, vocab_size):
      """Instance of token generator for the WMT en->fr task."""
      symbolizer_vocab = generator_utils.get_or_generate_vocab(
          tmp_dir, "tokens.vocab.%d" % vocab_size, vocab_size)
      datasets = _ENFR_TRAIN_DATASETS if train else _ENFR_TEST_DATASETS
      tag = "train" if train else "dev"
      data_path = _compile_data(tmp_dir, datasets, "wmt_enfr_tok_%s" % tag)
      return token_generator(data_path + ".lang1", data_path + ".lang2",
                             symbolizer_vocab, 1)

    首先generator_utils.get_or_generate_vocab函数生成词典,_ENFR_TRAIN_DATASETS 为包含输入数据的词典,token_generator函数读取训练数据,并将其转换为数字:

    def token_generator(source_path, target_path, token_vocab, eos=None):
      eos=token_vocab['</S>']
      eos_list = [] if eos is None else [eos]
      with tf.gfile.GFile(source_path, mode="r") as source_file:
        with tf.gfile.GFile(target_path, mode="r") as target_file:
          source, target = source_file.readline(), target_file.readline()
          while source and target:
            source_ints = word_num(source.strip('\n'),token_vocab) + eos_list#change text to number and end with eos1
            target_ints = word_num(target.strip('\n'),token_vocab) + eos_list
            slen=max(len(source_ints),len(target_ints))
            if slen>=5 and slen<=20:#control the training sentence to be [5,20]
                yield {"inputs": source_ints, "targets": target_ints}
            source, target = source_file.readline(), target_file.readline()
    展开全文
  • torch.Tensor和torch.tensor的区别

    万次阅读 多人点赞 2019-06-10 16:34:48
    在Pytorch中,Tensortensor都用于生成新的张量。 >>> a = torch.Tensor([1, 2]) >>> a tensor([1., 2.]) >>> a=torch.tensor([1,2]) >>> a tensor([1, 2]) 首先我们从根源...

    在Pytorch中,Tensor和tensor都用于生成新的张量。

    >>>  a = torch.Tensor([1, 2])
    >>>  a
    tensor([1., 2.])
    >>> a=torch.tensor([1,2])
    >>> a
    tensor([1, 2])
    

    首先我们从根源上来看看torch.Tensor()torch.tensor()区别。

    torch.Tensor

    torch.Tensor()是Python类,更明确的说,是默认张量类型torch.FloatTensor()的别名,torch.Tensor([1,2]) 会调用Tensor类的构造函数__init__,生成单精度浮点类型的张量。

    >>> a=torch.Tensor([1,2])
    >>> a.type()
    'torch.FloatTensor'
    

    torch.tensor()

    torch.tensor()仅仅是Python的函数,函数原型是:

    torch.tensor(data, dtype=None, device=None, requires_grad=False)
    

    其中data可以是:list, tuple, array, scalar等类型。
    torch.tensor()可以从data中的数据部分做拷贝(而不是直接引用),根据原始数据类型生成相应的torch.LongTensor,torch.FloatTensor,torch.DoubleTensor。

    >>> a = torch.tensor([1, 2])
    >>> a.type()
    'torch.LongTensor'
    
    >>> a = torch.tensor([1., 2.])
    >>> a.type()
    'torch.FloatTensor'
    
    >>> a = np.zeros(2, dtype=np.float64)
    >>> a = torch.tensor(a)
    >>> a.type()
    torch.DoubleTensor
    

    Reference:
    https://blog.csdn.net/tfcy694/article/details/85338745

    展开全文
  • pytorch Tensortensor

    2019-10-20 11:33:16
    Tensor Tensor 是 pytorch 的一个class类,不同的数据类型对应不同的 Tensor 类,一共有九种:

    Tensor

    torch.Tensor() 是类,不同的数据类型对应不同的类,一共有九种(图片来自于官方文档截图):

    torch.Tensor 是 torch.FloatTensor 的一个别名。不同类之间的转换可以用 type() 函数,如:

    import torch
    
    a = torch.Tensor([1, 2, 3])
    b = a.type(torch.LongTensor)
    

    tensor

    torch.tensor() 是一个函数,它返回值是上面的某个类:

    torch.tensor(data, dtype=None, device=None, requires_grad=False, pin_memory=False) → Tensor
    

    它通过dtype来确定是哪种数据类型。

    展开全文
  • tensorflow学习笔记(九):tf.shape()与tensor.get_shape()

    万次阅读 多人点赞 2016-10-23 22:19:44
    两种方法都可以获得变量的shapetf.shape(x)其中x可以是tensor,也可不是tensor,返回是一个tensortensor.get_shape()只有tensor有这个方法, 返回是一个tuple
  • torch.Tensor的4种乘法

    万次阅读 多人点赞 2019-02-17 00:14:42
    torch.Tensor的4种乘法 torch.Tensor有4种常见的乘法:*, torch.mul, torch.mm, torch.matmul. 本文抛砖引玉,简单叙述一下这3种乘法的区别,具体使用还是要参照官方文档。 * a与b做*乘法,原则是如果a与b的size...
  • 最近在使用pytorch中tensor的时候,遇到了需要使用tensor1[tensor2]的情况,发现了这篇博客,他从代码的角度解释了其工作原理,这里我用图示的方式解释tensor类型为longTensor时的情况 工作原理 首先,创建两个...
  • 最近需要实现TensorTensor的索引,即对于一个Tensor中的每个元素,返回它在另一个Tensor中的位置,例子如下: > inp = torch.LongTensor([5, 3, 6, 9]) > index = torch.LongTensor([2, 3, 4, 6, 8, 5, 7, 9...
  • keras split tensor keras 分割tensor keras slice tensor Exception: You tried to call layer "conv1". This layer has no information about its expected input shape, and thus cannot be built. You can build...
  • 在Pytorch官方文档中,对于 Tensortensor 是这样定义的:A torch.Tensor is a multi-dimensional matrix containing elements of a single data typeTo create a tensor with pre-existing data, use torch....
  • 1. Instances of the torch.Tensor classPytorch中tensor是torch.Tensor类的实例2. Tensor attributestorch.Tensor 有以下属性:torch.dtype:tensor数据格式torch.device:CPU/GPUtorch.layout:tensor如何在内存中...
  • 创建Tensor

    2020-04-10 13:45:14
    创建Tensor1. 数据类型2. 创建Tensor2.1 使用构造函数创建2.2 使用函数tensor创建 1. 数据类型   pytorch定义了七种CPU tensor类型和八种GPU tensor类型: 2. 创建Tensor 2.1 使用构造函数创建 tensor = torch....
  • Tensor2Tensor 踩坑记录

    千次阅读 2018-08-15 19:01:27
    Tensor2Tensor(Transformer)使用方法 安装环境 安装CUDA 9.0 (一定是9.0,不能是9.2) 安装TensorFlow (现在是1.8) 安装Tensor2Tensor 开始使用 数据预处理:这一步骤是根据自己任务自己编写一些预处理的...
  • 代码: a = torch.tensor([1, 2, 3, 4, 5]) b = torch.tensor([1, 2, 2, 4, 6]) c = (a == b) print(c) 输出: tensor([ True, True, False, True, False])
  • 创建tensor

    2020-08-16 20:27:08
    创建tensor的方式非常非常的多,比如将numpy转换为tensor,或者将List喂给tensor,或者创建一个全是0和1的tenor或者随机化初始,如果W,b比较多的话我们就用random的方式随机化初始。几种方法如下: 通过Numpy或者...
  • 在使用pytorch时,我们经常会看到tensor1[tensor2]这样的代码,而不同的tensor2会导致不同的索引方式,本文详细介绍使用tensor作为索引的原理。 首先构造tensor1: >>> a = torch.randn(10, 5) >>>...
  • SparseTensor

    千次阅读 2018-09-10 10:48:42
    TensorFlow使用三个dense tensor来表达一个sparse tensor:indices、values、dense_shape。 假如我们有一个dense tensor: [[1, 0, 0, 0] [0, 0, 2, 0] [0, 0, 0, 0]] 那么用SparseTensor表达这个数据对应的三...
  • 代码研读 TensorTensor类定义在tensorflow/core/framework/tensor.h中 Tensor定义了以下几个构造函数
  • Pytorch张量(Tensor)复制

    万次阅读 多人点赞 2019-09-13 23:13:38
    tensor复制可以使用clone()函数和detach()函数即可实现各种需求。 clone clone()函数可以返回一个完全相同的tensor,新的tensor开辟新的内存,但是仍然留在计算图中。 detach detach()函数可以返回一个完全相同的...
  • torch.tensor和torch.Tensor

    2020-08-10 17:05:44
    在torch的tensor使用过程中,我们经常回看到torch.tensor()和类似于torch.Tensor()或者torch.FloatTesnor()、tensor.DoubleTensor()等等,究竟两种用法该怎么区分呢? 首先,要说的是,上面列出的几种初始化方法,...
  • tensor 是一个由单一数据类型数据组成的多维矩阵torch 定义了8种 CPU 张量和 GPU张量tensor可以用torch.tensor(data)创建,data可以是 python list 或 np.array>>> torch.tensor([[1., -1.], [1., -1.]])...
  • tensor张量

    2019-04-19 00:18:43
    (0) tensor是什么?以我粗浅的理解,Tensor张量是多个n维的数组,描述了一个在不同量纲(坐标系下)的状态。Vector是tensor的一个特例。参考这篇知乎文章 (1) tensor解决了什么痛点? Tensor首先是一个数学/物理上的...
  • 【PyTorch】Tensortensor的区别

    万次阅读 多人点赞 2018-12-29 14:50:31
    在PyTorch中,Tensortensor都能用于生成新的张量: &gt;&gt;&gt; a=torch.Tensor([1,2]) &gt;&gt;&gt; a tensor([1., 2.]) &gt;&gt;&gt; a=torch.tensor([1,2]) &gt;&...
  • torch.Tensor和torch.tensor

    2020-08-05 21:46:19
    Our torch.Tensor constructor is overloaded to do the same thing as both torch.tensor and torch.empty. We thought this overload would make code confusing, so we split torch.Tensor into torch.tensor and...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,414
精华内容 13,765
关键字:

tensor