转自:https://ptorch.com/news/52.html

torch.Storage是单个数据类型的连续的一维数组,每个torch.Tensor都具有相同数据类型的相应存储。他是torch.tensor底层数据结构,他除了像Tensor一样定义数值,还可以直接把文件映射到内存中进行操作,如果你使用的是pytorch神经网络,你不需要直接使用它们。中文文档地址:https://www.ptorch.com/docs/1/Storage

注意:任何比一维数组更复杂的都需要用到张量。

torch.Storage主要有以下几种类型:

torch.FloatStorage([1,2,3,4,5])
torch.ByteStorage([1,2,3,4,5])
torch.ShortStorage([1,2,3,4,5])
torch.IntStorage([1,2,3,4,5])
torch.LongStorage([1,2,3,4,5])
torch.FloatStorage([1,2,3,4,5])
torch.DoubleStorage([1,2,3,4,5])
torch.ShortStorage([1,2,3,4,5])

一、构造函数

  • 你可以使用torch.FloatStorage()构造一个空的Storage,构造函数的数值是随机初始化的。
  • 我们可以使用2种方法来构造torch.FloatStorage()并把它存入内存中
# 通过数组
torch.FloatStorage([1,2,3,4,5])
# 随机生成一个Storage
torch.FloatStorage(5)

二、torch.Storage的操作以及类型的转变

  • torch.Storage包含多种操作例如:size()返回此存储转的大小,tolist()返回一个包含此存储中元素的列表等等,具体参考文档torch.Storage
  • torch.FloatStorage()类型之间的转换,其实文档里有介绍,我这里给个例子:
a = torch.FloatTensor([1,2,3,4])
print a.char()
print a.long()

三、torch.Storagetorch.Tensor之间的转化

将Tensor转换为Storage非常简单,只需要storage()函数即可

import torch

a = torch.FloatTensor([1,2,3,4])
print a.storage()

它没有其他高级的用法,它是张量的一层。它可以共享多个张量的相同存储。或者更有效地处理一些操作。

torch.cuda()

转自:https://pytorch-cn.readthedocs.io/zh/latest/package_references/torch-cuda/

1

pytorch torch.Stroage();torch.cuda()的更多相关文章

  1. Pytorch中的torch.cat()函数

    cat是concatnate的意思:拼接,联系在一起. 先说cat( )的普通用法 如果我们有两个tensor是A和B,想把他们拼接在一起,需要如下操作: C = torch.cat( (A,B),0 ...

  2. torch.tensor(),torch.Tensor()

    Pytorch tensor操作 https://www.cnblogs.com/jeshy/p/11366269.html    我们需要明确一下,torch.Tensor()是python类,更明 ...

  3. Pytorch报错:cuda runtime error (59) : device-side assert triggered at /pytorch/aten/src/THC/generic/THCTensorMath.cu:26

    Pytorch报错:cuda runtime error (59) : device-side assert triggered at /pytorch/aten/src/THC/generic/TH ...

  4. [转载]torch参数:torch.backends.cudnn.benchmark的意义

    [转载]torch参数:torch.backends.cudnn.benchmark的意义 来源:https://zhuanlan.zhihu.com/p/73711222 完整版请看原文,这里只截取 ...

  5. 小白学习之pytorch框架(1)-torch.nn.Module+squeeze(unsqueeze)

    我学习pytorch框架不是从框架开始,从代码中看不懂的pytorch代码开始的 可能由于是小白的原因,个人不喜欢一些一下子粘贴老多行代码的博主或者一些弄了一堆概念,导致我更迷惑还增加了畏惧的情绪(个 ...

  6. 安装pytorch后import torch显示no module named 'torch'

    问题描述:在pycharm终端里通过pip指令安装pytorch,显示成功安装但是python程序和终端都无法使用pytorch,显示no module named 'torch'. 起因:电脑里有多 ...

  7. pytorch函数之torch.normal()

    Returns a Tensor of random numbers drawn from separate normal distributions who’s mean and standard ...

  8. pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法

    squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...

  9. 【Pytorch】关于torch.matmul和torch.bmm的输出tensor数值不一致问题

    发现 对于torch.matmul和torch.bmm,都能实现对于batch的矩阵乘法: a = torch.rand((2,3,10))b = torch.rand((2,2,10))### ma ...

随机推荐

  1. CS第三方控件 标签: 总结 2016-04-09 11:51 1398人阅读 评论(27) 收藏

    大家都知道,我现在在做CS的项目,现在是需求频变啊,心里好苦,做了这么久,还是涨了一点点见识的,下面就介绍一下自己最近用到的几款CS的第三方控件. DockPanel 想必大家都用过VS,那么想一下V ...

  2. font-weight:bolder与设置数值的区别

    我之前设置了font-weight:bolder;一直不明白为什么在浏览器上显示最后的效果就变成了normal呢,后来查了一下才发现bolder是相对父元素的. 如果父对象的值为 normal,子对象 ...

  3. oracle函数 trunc(x[,y])

    [功能]返回x按精度y截取后的值 [参数]x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则截取到y位小数,如果y小于0则截取到小数点向左第y位,小数前其它数据用0表示. [返回 ...

  4. 05Redis入门指南笔记(持久化)

    Redis的强劲性能很大程度上是由于将所有数据都存储在了内存中,然而当Redis重启后,所有存储在内存中的数据就会丢失.在一些情况下,希望Redis能将数据从内存中以某种形式同步到硬盘中,使得重启后可 ...

  5. @codechef - TREEPATH@ Decompose the Tree

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一棵无根树,每个节点上都写了一个整数. 你的任务就是统计有多 ...

  6. behavior planning——12.example cost funtion -lane change penalty

      In the image above, the blue self driving car (bottom left) is trying to get to the goal (gold sta ...

  7. vue 组件评论 的同时进行刷新

    注意:1.最重要理解这里的父组件的刷新功能,通过v-on事件绑定委托给子组件执行,因为子组件的提交按钮和父组件的刷新评论的功能是分开的. 2.没有数据时直接点击提交按钮时会出bug,并且关闭后重新加载 ...

  8. SuperSocket主动从服务器端推送数据到客户端

    关键字: 主动推送, 推送数据, 客户端推送, 获取Session, 发送数据, 回话快照 通过Session对象发送数据到客户端   前面已经说过,AppSession 代表了一个逻辑的 socke ...

  9. 横向tab计算滚动位置

    React横向滚动计算 class Footer extends React.Component { handleClick(e) { const offset = 150; // 指定偏移量 thi ...

  10. Java JDBC学习实战(三): 事务管理

    一. 数据库的事务特性 事务是一步或多步组成操作序列组成的逻辑执行单元,这个序列要么全部执行,要么则全部放弃执行. 事务的四个特性:原子性(Atomicity).一致性(Consistency).隔离 ...