常用的Tensor操作

1、通过tensor.view方法可以调整tensor的形状,但必须保证调整去前后元素总数一致。view不会修改自身的数据,返回新的tensor与原tensor共享内存,即更改其中的一个,另一个也会跟这改变。
2、实际中经常需要添加或减少某一维度,可用squeeze和unsqueeze这两函数。 import torch as t
a = t.arange(0,6)
b = a.view(2,3) #调整tensor的形状,不会修改自身数据
c = a.view(-1,3) #-1自动计算大小
'''
a = tensor([0, 1, 2, 3, 4, 5])
b = tensor([[0, 1, 2],
[3, 4, 5]])
c = tensor([[0, 1, 2],
[3, 4, 5]])'''
b = b.unsqueeze(1) #在第一维(下标从0开始)上增加“1”
'''tensor([[[0, 1, 2]], [[3, 4, 5]]])'''
c = c.unsqueeze(-2)
'''tensor([[[0, 1, 2]], [[3, 4, 5]]])'''
d = b.view(1,1,1,2,3)
'''tensor([[[[[0, 1, 2],
[3, 4, 5]]]]])'''
d = d.squeeze(0) #压缩第0维的“1”
'''tensor([[[0, 1, 2],
[3, 4, 5]]])'''
d = d.squeeze() #所有维度为“1”的压缩
'''tensor([[0, 1, 2],
[3, 4, 5]])''' 3、resize是另一种可用调整size的方法,但与view不同,它可以修改tensor的尺寸。如果新尺寸超过原尺寸,会自动分配新的内存空间,而如果新尺寸小于原尺寸,则之前的数据依旧会被保存。
b.resize_(1,3) #resize_调整size,新尺寸小于原尺寸,则之前的保留
'''tensor([[0, 1, 2]])'''
b.resize_(3,3) #resize_调整size,新尺寸大于原尺寸,会自动分配新的内存空间
'''tensor([[ 0, 1, 2],
[ 3, 4, 5],
[7526747973031060338, 7306812055932138085, 8389969046800051066]])'''

2018-10-23 17:59:12

常用的Tensor操作的更多相关文章

  1. 05_pytorch的Tensor操作

    05_pytorch的Tensor操作 目录 一.引言 二.tensor的基础操作 2.1 创建tensor 2.2 常用tensor操作 2.2.1 调整tensor的形状 2.2.2 添加或压缩t ...

  2. Oracle手边常用命令及操作语句

    Oracle手边常用命令及操作语句 作者:白宁超 时间:2016年3月4日11:24:08 摘要:日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规操作. ...

  3. TP5常用命令符操作

    ThinkPHP5常用命令符操作   1. 模块自动生成指令:   默认会读取应用目录application下面的build.php作为自动   生成的定义文件,如果你的定义文件位置不同,则需要使用 ...

  4. 原生JavaScript常用的DOM操作

    之前项目一直都是用JQuery或者Vue来做的,确实好用,毕竟帮我们解决了很多浏览器兼容问题,但是后面发现大公司面试题都是要原生Javascript来做,然后我就一脸懵逼哈哈哈,毕竟大公司需要的框架或 ...

  5. Tutorial 01_熟悉常用的Linux操作和Hadoop操作

    (一)熟悉常用的Linux 操作cd 命令:切换目录 (1) 切换到目录“/usr/local” (2) 切换到当前目录的上一级目录 (3) 切换到当前登录Linux 系统的用户的自己的主文件夹  ...

  6. Git 常用命令及操作总结

    Git常用命令及操作总结 By:授客 QQ:1033553122 利用TortoiseGit克隆源码库到本地 1.安装TortoiseGit 2.打开Git,进入到源码库,点击图示红色选框框选按钮,弹 ...

  7. 【转】python 历险记(四)— python 中常用的 json 操作

    [转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...

  8. python 历险记(四)— python 中常用的 json 操作

    目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编码和解码? 常用的 json 操作有哪些? json 操作需要什么库? 如何 ...

  9. VC++常用数据类型及其操作详解

    原文地址:http://blog.csdn.net/ithomer/article/details/5019367 VC++常用数据类型及其操作详解 一.VC常用数据类型列表 二.常用数据类型转化 2 ...

随机推荐

  1. spring基于XML的声明式事务控制

    <?xml version="1.0" encoding="utf-8" ?><beans xmlns="http://www.sp ...

  2. c++ 常用头文件

    1.#include<iostream> iostream 的意思是输入输出流.#include<iostream>是标准的C++头文件,任何符合标准的C++开发环境都有这个头 ...

  3. RandomAccessFile出现中文乱码问题

    之前程序里调用了RandomAccessFile的writeByte(String str)方法,报文里存在中文的时候出现了乱码 后面换成了 write(byte b[])或writeBytes(by ...

  4. [笔记]猿计划(WEB安全工程师养成之路系列教程):03HTML基础标签

    1.<!DOCTYPE>声明 <!DOCTYPE> 不是 HTML 标签.它为浏览器提供一项信息(声明),即 HTML 是用什么版本编写的. 2.HTML不区分大小写 3.标签 ...

  5. Laravel-google-authenticator--Google验证码

    开发前的准备 安装Laravel 安装二维码生成器QrCode,没有安装也可以,接下来会安装 安装拓展 1.运行如下代码安装拓展包: composer require "earnp/lara ...

  6. 自己对Web标准的理解

    1.WEB标准 WEB分层: 1.结构层(HTML)   2.表现(css) 3.行为(js) web标准的优点: * 易于维护:只需更改css文件,就能改变整站的样式: * 页面响应快:HTML文档 ...

  7. mui slider禁止滑动

    网上方法: mui('.mui-slider').slider().setStopped(true); 实际使用 mui('.mui-slider').slider().stopped = true; ...

  8. SQL语句完整的执行顺序(02)

    这是对SQL语句完整的执行顺序(01)的补充: 数据库是mysql,使用的数据库表名称是my_student. 表的完整数据信息是: 完整语法是: Select [select选项] 字段列表[字段别 ...

  9. 用Python写一个zip文件的密码破解程序

    最近在读<python绝技:运用python成为顶级黑客>一书,文中有如何运用Python中zipfile自带的方法破解zip文件.短短的十几行代码就将一个程序实现了.下面给出书中所用的代 ...

  10. Visual studio 2017 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包

    装完win10更新 发现vs杯具了… 提示 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包 可以尝试在vs命令行 ...