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}")
相关推荐
Java后端的Ai之路1 小时前
【Python 教程15】-Python和Web
python
冬奇Lab3 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
二十雨辰5 小时前
[python]-AI大模型
开发语言·人工智能·python
Yvonne爱编码5 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
前端摸鱼匠6 小时前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测
WangYaolove13146 小时前
基于python的在线水果销售系统(源码+文档)
python·mysql·django·毕业设计·源码
AALoveTouch6 小时前
大麦网协议分析
javascript·python
ZH15455891316 小时前
Flutter for OpenHarmony Python学习助手实战:自动化脚本开发的实现
python·学习·flutter
xcLeigh7 小时前
Python入门:Python3 requests模块全面学习教程
开发语言·python·学习·模块·python3·requests
xcLeigh7 小时前
Python入门:Python3 statistics模块全面学习教程
开发语言·python·学习·模块·python3·statistics