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 通用、安全,不用操心连续性
相关推荐
SelectDB9 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
荣码17 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
金銀銅鐵1 天前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li1 天前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
Lihua奏1 天前
从单核到多核:CPU为什么不能再只靠提频变快
深度学习
拾年2751 天前
大模型的"聪明"从哪来?聊聊 AI 数据集的那些事儿
人工智能·深度学习·机器学习
小九九的爸爸1 天前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学1 天前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
花酒锄作田2 天前
Pydantic校验配置文件
python
hboot2 天前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络