Day48 随机函数与广播机制

@浙大疏锦行

python 复制代码
import torch

# 0维标量
scalar = torch.randn(())
print(f"标量: {scalar}, 形状: {scalar.shape}")

# 1维向量
vector = torch.randn(4)
print(f"向量: {vector}, 形状: {vector.shape}")

# 2维矩阵
matrix = torch.randn(2, 3)
print(f"矩阵: {matrix}, 形状: {matrix.shape}")

# 3维张量(模拟单张 RGB 图像)
tensor_3d = torch.randn(3, 64, 64)
print(f"3维张量形状: {tensor_3d.shape}")

# 4维张量(模拟批量图像,batch=2)
tensor_4d = torch.randn(2, 3, 128, 128)
print(f"4维张量形状: {tensor_4d.shape}")

import torch

# torch.rand 示例
rand_tensor = torch.rand(2, 2)
print(f"均匀分布: {rand_tensor}, 形状: {rand_tensor.shape}")

# torch.randint 示例
int_tensor = torch.randint(low=1, high=100, size=(3,))
print(f"随机整数: {int_tensor}, 形状: {int_tensor.shape}")

# torch.normal 示例
mean = torch.tensor([5.0, 10.0])
std = torch.tensor([2.0, 3.0])
normal_tensor = torch.normal(mean, std)
print(f"自定义正态分布: {normal_tensor}, 形状: {normal_tensor.shape}")


import torch
import torch.nn as nn

input_tensor = torch.randn(4, 3, 64, 64)  # batch=4
print(f"输入尺寸: {input_tensor.shape}")

conv1 = nn.Conv2d(3, 32, kernel_size=5, stride=2, padding=2)
conv_output = conv1(input_tensor)
print(f"卷积后尺寸: {conv_output.shape}")  # 预期: [4, 32, 32, 32] (stride=2 减半)

pool = nn.MaxPool2d(2, 2)
pool_output = pool(conv_output)
print(f"池化后尺寸: {pool_output.shape}")  # 预期: [4, 32, 16, 16]

flattened = pool_output.view(pool_output.size(0), -1)
print(f"展平后尺寸: {flattened.shape}")  # 预期: [4, 8192] (32*16*16)

import torch

A = torch.randn(3, 2, 4)  # batch=3, 2x4 矩阵
B = torch.randn(1, 4, 3)  # batch=1, 4x3 矩阵
result = A @ B  # B 扩展 batch 到3,结果: (3, 2, 3)

print(f"A 形状: {A.shape}\nB 形状: {B.shape}\n结果形状: {result.shape}")
相关推荐
程序员龙叔9 小时前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
用户83562907805112 小时前
使用 Python 操作 Word 内容控件
后端·python
码云骑士14 小时前
32-慢查询排查全流程(下)-索引优化实战与最左前缀原则
python
闵孚龙14 小时前
《PyTorch 深度修炼》Dataset 和 DataLoader:数据如何喂给模型
人工智能·pytorch·python
goldenrolan14 小时前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
菜板春15 小时前
jupyter入门-手册-特征探索
python·jupyter
Metaphor69215 小时前
使用 Python 将 PDF 转换为 HTML
python·pdf·html
极光代码工作室15 小时前
基于数据仓库的电商数据分析平台
大数据·hadoop·python·spark·数据可视化
开发小能手-roy15 小时前
StringBuilder vs StringBuffer:2024年还需要线程安全字符串吗?
开发语言·python·安全