当前位置:网站首页>Pytorch使用和技巧
Pytorch使用和技巧
2022-08-05 00:27:00 【流黄蛋】
#先导入包
import torch
import numpy as np
1. tensor的创建
1.1 初始化tensor的方法
data = [[1, 2][3, 4]] # 使用列表初始化tensor
tensor_data = torch.tensor(data)
# 通过 numpy数组创建tensor
data = np.random.normal((2, 3))
tensor_data = torch.tensor(data)
# 创建一个和另一个张量大小相同的全一tensor
data_ones = torch.ones_like(data)
# 创建一个和另一个张量大小相同的随机张量
data_rand = torch.rand_like(data)
# 创建随机张量
rand_data = torch.rand([2, 3]) # 其中的size可以是数组,tuple,不能为字典
1.2 查看tensor属性
data = torch.randn((2, 3))
# 判断是否是张量
data.is_tensor() # return True or False
data.is_complex(). # 数据是复数返回True, 否则返回False
data.is_floating_point() # 数据为浮点类型返回True, 否则为False
torch.is_nonzero(data) # 是不是包含单一元素tensor,并且如果是0就返回False, 否则就是True
torch.numel(data) # 判断张量中所有元素的数目
1.3 张量操作
torch.zeros([H, W]) # 返回全零张量
torch.range(start=0, end, step=1) # 生成连续的张量, 传入一个参数默认是end
torch.arange(start, end, step=1) # 也是生成连续的张量
# 注意torch.range生成的连续数组比torch.arange要多一个元素
torch.eye(n, m=None) # 创建一个 n * m 的单位矩阵,没有m就会创建 n * n的方阵
torch.full([H, W], m) , 创建一个H * W,元素全部为m的矩阵
torch.cat()# 对张量进行连接
# 例如
使用tensorflow时候没有考虑过这个事情,今天读代码发现torch还有这样一个重要的语句,记录学习一下:
1. model.train()
启用 BatchNormalization 和 Dropout
2. model.eval()
不启用 BatchNormalization 和 Dropout
训练完 train 样本后,生成的模型 model 要用来测试样本。在 model(test) 之前,需要加上model.eval(),否则只要有输入数据,即使不训练,model 也会改变权值。这是model中含有的 batch normalization 层所带来的的性质。
转载自:https://zhuanlan.zhihu.com/p/208233193
边栏推荐
- 软件测试面试题:LoadRunner 分为哪三个模块?
- Will domestic websites use Hong Kong servers be blocked?
- 00、数组及字符串常用的 API(详细剖析)
- tiup update
- 僵尸进程和孤儿进程
- How to automatically push my new articles to my fans (very simple, can't learn to hit me)
- Getting started with 3D modeling for games, what modeling software can I choose?
- 元宇宙:未来我们的每一个日常行为是否都能成为赚钱工具?
- 软件测试面试题:软件验收测试的合格通过准则?
- 2022杭电多校训练第三场 1009 Package Delivery
猜你喜欢
"Relish Podcast" #397 The factory manager is here: How to use technology to empower the law?
Redis visual management software Redis Desktop Manager2022
gorm联表查询-实战
STC89C52RC的P4口的应用问题
元宇宙:未来我们的每一个日常行为是否都能成为赚钱工具?
MAUI Blazor 权限经验分享 (定位,使用相机)
【Valentine's Day special effects】--Canvas realizes full screen love
[idea] idea configures sql formatting
oracle创建用户以后的权限问题
leetcode经典例题——单词拆分
随机推荐
lua 如何 实现一个unity协程的工具
日志(logging模块)
uinty lua 关于异步函数的终极思想
Software testing interview questions: What are the seven-layer network protocols?
How to automatically push my new articles to my fans (very simple, can't learn to hit me)
找不到DiscoveryClient类型的Bean
E - Distance Sequence (prefix and optimized dp
数据类型-整型(C语言)
NMS原理及其代码实现
gorm joint table query - actual combat
what?测试/开发程序员要被淘汰了?年龄40被砍到了32?一瞬间,有点缓不过神来......
【Unity编译器扩展之进度条】
2022牛客多校第三场 J题 Journey
软件测试面试题:什么是软件测试?软件测试的目的与原则?
刘润直播预告 | 顶级高手,如何创造财富
tiup telemetry
leetcode:266. 回文全排列
2 用D435i运行VINS-fusion
matlab 采用描点法进行数据模拟和仿真
Software test interview questions: BIOS, Fat, IDE, Sata, SCSI, Ntfs windows NT?