python第48天打卡

知识点回顾:

  1. 随机张量的生成:torch.randn函数
  2. 卷积和池化的计算公式(可以不掌握,会自动计算的)
  3. pytorch的广播机制:加法和乘法的广播机制

ps:numpy运算也有类似的广播机制,基本一致

**作业:**自己多借助ai举几个例子帮助自己理解即可

1. 随机张量生成:torch.randn
python 复制代码
import torch

# 生成标准正态分布的随机张量
a = torch.randn(3)        # 1维张量 (3个元素)
b = torch.randn(2, 3)     # 2x3 矩阵
c = torch.randn(1, 2, 3)  # 三维张量 (1x2x3)

print(f"a: {a}\nshape: {a.shape}")
print(f"b:\n{b}\nshape: {b.shape}")
print(f"c:\n{c}\nshape: {c.shape}")
  1. 卷积/池化尺寸计算(补充)
python 复制代码
import torch.nn as nn

# 卷积层尺寸公式
def conv_size(H_in, W_in, kernel, stride=1, padding=0):
    H_out = (H_in + 2*padding - kernel) // stride + 1
    W_out = (W_in + 2*padding - kernel) // stride + 1
    return H_out, W_out

# 示例:输入32x32图片,3x3卷积核
print("卷积输出尺寸:", conv_size(32, 32, kernel=3, padding=1))  # (32,32)
3. 广播机制详解(重点示例)

规则总结

  1. 从最右边维度开始对齐

  2. 维度兼容条件:相等 / 其中一个是1 / 其中一个不存在

  3. 缺失维度自动补1 示例1:基础广播(向量+标量)

python 复制代码
v = torch.tensor([1, 2, 3])  # (3)
s = torch.tensor(10)         # () -> 广播为(3)

print(v + s)  # tensor([11, 12, 13])

示例2:矩阵+向量(自动补维度)

python 复制代码
M = torch.ones(2, 3)  # (2,3)
v = torch.tensor([1, 2, 3])  # (3) -> 广播为(1,3) -> (2,3)

"""
计算过程:
M: [[1,1,1],   v: [[1,2,3]]   -> 广播后:
     [1,1,1]]        [[1,2,3]]

结果:[[2,3,4],
      [2,3,4]]
"""
print(M + v)
示例3:三维广播(维度扩展)
python 复制代码
A = torch.ones(3, 1, 2)  # (3,1,2)
B = torch.tensor([[1, 2]])  # (1,2) -> 广播为(1,1,2) -> (3,1,2)

"""
广播过程:
A: [[[1,1]],   B: [[[1,2]]] -> 扩展为:
    [[1,1]],           [[1,2]]
    [[1,1]]]           [[1,2]]
"""
print(A * B)  # 逐元素乘法

@浙大疏锦行

相关推荐
会飞锦鲤10 分钟前
基于 Mask R-CNN 的药片缺陷检测系统
人工智能·pytorch·python·神经网络·resnet-50
醉颜凉12 分钟前
Java 必看:如何彻底避免 HashMap 多线程死循环问题?
java·开发语言
默 语13 分钟前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
Brilliantwxx40 分钟前
【STM32】 I2C_EEPROM_test 工程(实战篇)
开发语言·stm32·单片机·嵌入式硬件·ecmascript
清水白石0081 小时前
Python 异步编程深度解析:Cancellation 到底是异常还是控制信号?从 asyncio 取消机制到企业级事务设计最佳实践
开发语言·python
kolyle1 小时前
万级 QPS 下的 Token 分发系统架构:从 0 到 1 跑通 AI 时代的“水电煤“
开发语言·人工智能·系统架构·token·qps·极智词元·大模型私有化部署
caoerzhong1 小时前
JeeWMS 开源仓库管理系统 GPL-3.0 合规指南:Java WMS 二次开发前必须弄清的授权边界
java·开发语言·开源·vue
Patrick在香港1 小时前
Python 审计香港开放数据目录:两个端点差 10 倍,只有 9.3% 的资源标了「最后修改时间」
开发语言·数据库·python·数据分析·api·数据治理·开放数据
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的草鱼价格分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·数据挖掘·数据分析·课程设计·大数据毕设项目
GISHUB1 小时前
基于QGIS 3.44开发Python插件完整教程
python·qgis