torch:view和reshape的区别

复制代码
import torch

x = torch.randn(4, 6)      # shape: (4,6)
# view 用法
y = x.view(3, 8)           # shape: (3,8)
# reshape 用法
z = x.reshape(2, 12)       # shape: (2,12)
# 使用 -1 自动推断某一维度
w = x.view(-1, 8)          # 自动计算第一维为 3  (24/8=3)

注意:元素总数必须不变,否则抛出错误。

两者都用于改变张量的形状(不改变元素总数),但内部行为略有不同:

函数 连续性要求 内存行为 推荐场景
view 要求张量连续(contiguous) 返回视图,与原张量共享数据(零拷贝) 确定内存连续时使用,最高效
reshape 不要求连续 尽可能返回视图;若连续则等价于view,否则自动复制后再view 通用、安全,不用操心连续性
相关推荐
SEO_juper1 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
数智工坊1 小时前
视觉SLAM第12讲|地图构建:单目稠密重建、RGB-D点云与八叉树地图全解析
人工智能·深度学习·矩阵·机器人
GPU实战笔记1 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
用户8356290780512 小时前
使用 Python 对 Excel 工作表进行排序
后端·python
for_ever_love__2 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
用户8356290780512 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python
weixin_461769403 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
论文复现现场3 小时前
8卡4090能跑70B吗?Llama-2显存预算、QLoRA与通信瓶颈
人工智能·深度学习·分布式训练·llama·显存·qlora·算家云
2601_966949653 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
全栈弄潮儿3 小时前
Python实战第1期:Python环境搭建与第一个程序
python