1--如第二章所讲,Tensor的本质是矩阵或数据

2--对Tensor的操作分类

|----API分类

|------torch中定义的: t.f(a,b)

|------tensor的成员函数: a.f(b)

|----按对tensro的作用分

|------不会改变本身 : 返回第三变了

|------会改变本身 : 修改自身的, 同名方法+ 下划线 都表示这个方法是修改自身的

3--Tensor的创建

|----t.Tensor(a,b): 创建一个a×b的tensor,值为随机,t.Tensor((a,b)):以list(a,b)创建一个tensor,两者不一样

|----t.ones(),t.zeros():创建全1,全0对象

|----t.eye(),创建单位矩阵(对角线为1的矩阵)|为什么只有一个方向的对角线?因为子矩阵中上下顺序可以变换

|----t.arange(a,b,s) 创建1维数据,从a到b,s为步进值

|----t.linspace(a,b,s) 创建1维数据,从a到b分成s分,但是s不能是1,至少是2

|----t.rand(),t.randn(), 前者随即分布,后者正态随即分布

|----t.normal(m,s),t.uniform(f,to),正太分布,均匀分布 ? 不知道有什么区别 ??

|----t.randperm(m)随机排列, 即 1-m随机排列产生一个一维数组

4--Tensor属性访问

|----查看Tensor的大小(维度 ) a.size(),a.shape(),两者等价

|----查看总元素个数 a.numel() == a.nelement()

5--Tensor数据层面上的修改

|----a.view(a,b),会修改其维度,但是数据总量不会改变 且返回新的对象b,但a与b共享内存,只是对内存的解析不同

|------当view的参数含有-1时,该参数会根据另一个参数计算当前的参数

|----a.squeeze(dim) 缩减某个维度,但是只有能缩减的时候才会生效,实验的时候发现只有经过unsqueeze出的维度才能缩减

|----a.resize_(), 当缩小时,不见的内存依旧保存,当变大时,会自动扩增内存

6--Tensor的索引

|----下标运算[ ],很骚气,脚本语言的好处了吧

|----方法类: 注意 要分清 dim 和 index的区别

|------t.index_select()

|------t.masked_select(),就是掩图,但是是ByteTensor

|------t.non_zero()

|------gather() 在某维度的方向上 进行选取,略复杂

|------scatter_() 与 gather操作相反

pytorch入门与实践-3 Tensor详解的更多相关文章

  1. Java web 入门知识 及HTTP协议详解

     Java  web  入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...

  2. 【转】Zabbix 3.0 从入门到精通(zabbix使用详解)

    [转]Zabbix 3.0 从入门到精通(zabbix使用详解) 第1章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源   网站/ ...

  3. Farseer.net轻量级开源框架 入门篇:添加数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 分类逻辑层 下一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 ...

  4. Farseer.net轻量级开源框架 入门篇:修改数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 添加数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 ...

  5. Farseer.net轻量级开源框架 入门篇:删除数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 ...

  6. Farseer.net轻量级开源框架 入门篇:查询数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 下一篇:Farseer.net轻量级开源框架 中级篇: Where条 ...

  7. UWP入门(七)--SplitView详解与页面跳转

    原文:UWP入门(七)--SplitView详解与页面跳转 官方文档,逼着自己用英文看,UWP开发离不开官方文档 1. SplitView 拆分视图控件 拆分视图控件具有一个可展开/可折叠的窗格和一个 ...

  8. 05-Vue入门系列之Vue实例详解与生命周期

    Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理.数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成.编译.挂着. ...

  9. 【Linux】Linux入门及常见基本操作命令详解

    本文基于 Red Hat Enterprise Linux 6 一.Linux 入门体验 1.1 root用户登陆 1.2 图形化与纯字符模式切换 init 5 - 图形模式 init 3 - 纯字符 ...

随机推荐

  1. JAVA写JSON的三种方法,java对象转json数据

    JAVA写JSON的三种方法,java对象转json数据 转自:http://www.xdx97.com/#/single?bid=5afe2ff9-8cd1-67cf-e7bc-437b74c07a ...

  2. 6.linux安装tomcat

    1.下载安装包 https://tomcat.apache.org/download-80.cgi       2.用 WinSCP 将本地的安装包 上传到 linux 服务器中   3.解压安装包( ...

  3. Linux 踩过的坑系列-01

    关于默认网关的添加.记得楼主之前有一次,无意之间,也不知道做了什么删除文件里面内容的操作,配置好静态IP之后上不了外网.翻阅个各种资料都是没有找到问题.最后发现问题在于配置的虚拟机网卡文件的网关打错了 ...

  4. codeblocks更改颜色主题

    链接:http://www.cnblogs.com/wenbosheng/p/5899483.html

  5. 【Python selenium自动化环境配置】4步搞定ChromeDriver版本选择

    很多刚做自动化的小伙伴,会在ChromeDriver版本选择时犯难,看来大家都被坑过,真正掌握独门绝技,都不是难事儿. 看好了主要步骤就4部 1.确定谷歌浏览器版本 2.找到谷歌浏览器版本与Chrom ...

  6. 连接mysql报zone时区错误

    报错信息: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zon ...

  7. Main Thread Checker 问题解决

    1. without a return value https://developer.apple.com/documentation/code_diagnostics/main_thread_che ...

  8. Visual Studio 2013 突然不高亮,编译报错

    同事的电脑,估计是windows更新失败的原因,C盘容量减小到不到1G,VS的高亮也坏了,重启后硬盘容量增加了但是仍然不高亮. 解决办法记录一下: 重置下. 开始菜单 -->所有程序--> ...

  9. docker部署项目 <三>

    使用docker运行一个控制台项目,新建一个控制台测试项目 一.安装mono,直接在网易镜像中心找下载路径 docker pull hub.c..com/library/mono:latest 二.安 ...

  10. ThreadLocal, HandlerThread, IntentService

    1. ThreadLocal用法详解和原理https://www.cnblogs.com/coshaho/p/5127135.html // ThreadLocal methods: public T ...