pytorch入门与实践-3 Tensor详解
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详解的更多相关文章
- Java web 入门知识 及HTTP协议详解
Java web 入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...
- 【转】Zabbix 3.0 从入门到精通(zabbix使用详解)
[转]Zabbix 3.0 从入门到精通(zabbix使用详解) 第1章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源 网站/ ...
- Farseer.net轻量级开源框架 入门篇:添加数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 分类逻辑层 下一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 ...
- Farseer.net轻量级开源框架 入门篇:修改数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 添加数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 ...
- Farseer.net轻量级开源框架 入门篇:删除数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 ...
- Farseer.net轻量级开源框架 入门篇:查询数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 下一篇:Farseer.net轻量级开源框架 中级篇: Where条 ...
- UWP入门(七)--SplitView详解与页面跳转
原文:UWP入门(七)--SplitView详解与页面跳转 官方文档,逼着自己用英文看,UWP开发离不开官方文档 1. SplitView 拆分视图控件 拆分视图控件具有一个可展开/可折叠的窗格和一个 ...
- 05-Vue入门系列之Vue实例详解与生命周期
Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理.数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成.编译.挂着. ...
- 【Linux】Linux入门及常见基本操作命令详解
本文基于 Red Hat Enterprise Linux 6 一.Linux 入门体验 1.1 root用户登陆 1.2 图形化与纯字符模式切换 init 5 - 图形模式 init 3 - 纯字符 ...
随机推荐
- 定期清理WordPress的文章修订版本
当WordPress编辑或修改文章时会自动保存生成一个修订版本,默认是每分钟1次.方便恢复早先撰写的版本.不过时间一长就会产生大量的冗余数据,加重服务器负担,拖慢数据加载.当所有发布的文章都已更新到最 ...
- 转载-CentOS7关闭防火墙
原文地址-http://www.cnblogs.com/silent2012/archive/2015/07/28/4682770.html CentOS 7.0默认使用的是firewall作为防火墙 ...
- eclipse下classes文件夹无法发布到tomcat的问题--tomcat发布慢的问题
=== 解决eclipse下classes文件夹无法发布到tomcat的问题_Nautilus_新浪博客http://blog.sina.com.cn/s/blog_484d8777010130n5. ...
- 设计模式四: 抽象工厂(Abstract Factory)
简介 抽象工厂模式是创建型模式的一种, 与工厂方法不同的是抽象工厂针对的是生产一组相关的产品, 即一个产品族. 抽象工厂使用工厂方法模式来生产单一产品, 单一产品的具体实现分别属于不同的产品族. 抽象 ...
- blinker库
参考 Blinker Documentation Blinker 是一个基于Python的强大的信号库,它既支持简单的对象到对象通信,也支持针对多个对象进行组播.Flask的信号机制就是基于它建立的. ...
- SpringCloud+ZUUL跨域请求中的OPTIONS请求处理
目前项目结构是VUE做前端,后端采用微服务架构,在开发时前端需要跨域请求数据,通过CorsConfig配置解决了简单跨域请求需要.但当需要在请求的header中增加token信息时,出现了请求失败的情 ...
- 【原创】大叔经验分享(9)yarn重要配置yarn.nodemanager.local-dirs
yarn中有一个比较重要的配置yarn.nodemanager.local-dirs,如果配置的不好,在饱和状态运行下集群会出现很多问题:1 默认配置${hadoop.tmp.dir}/nm-loca ...
- cf自训4.10
cf933A dp题 一开始看错是连续子序列了,然后样例刚好能过.. 然后正解没想出来,网上看了题解:感觉正解是枚举2开始的位置,然后再枚举翻转的区间,pos左右两侧分别求出贡献最大的那个区间,左右两 ...
- Win7+keras+tensorflow使用YOLO-v3训练自己的数据集
一.下载和测试模型 1. 下载YOLO-v3 git clone https://github.com/qqwweee/keras-yolo3.git 这是在Ubuntu里的命令,windows直接去 ...
- post 数据
可参照:http://www.voidcn.com/blog/Vindra/article/p-4917667.html 一.get请求 curl "http://www.baidu.com ...