day41打卡

@浙大疏锦行

python 复制代码
import torch
import torch.nn as nn
import torch.nn.functional as F

class SimpleCNN(nn.Module):
    def __init__(self):
        super(SimpleCNN, self).__init__()
        
        # 1. 卷积层 (Convolutional Layer)
        # 输入: 1个通道(灰度图), 输出: 32个特征图, 卷积核: 3x3
        self.conv1 = nn.Conv2d(in_channels=1, out_channels=32, kernel_size=3, padding=1)
        
        # 2. 池化层 (Pooling Layer)
        # 2x2 最大池化,将图片尺寸减半
        self.pool = nn.MaxPool2d(kernel_size=2, stride=2)
        
        # 3. 全连接层 (Fully Connected Layer)
        # 假设输入图片是 28x28:
        # 经过 conv1 (padding=1) -> 28x28
        # 经过 pool -> 14x14
        # 所以展平后的维度是: 32(通道) * 14 * 14
        self.fc1 = nn.Linear(32 * 14 * 14, 10) # 输出 10 个类别 (例如数字 0-9)

    def forward(self, x):
        # 前向传播逻辑
        x = self.conv1(x)
        x = F.relu(x)      # 激活函数
        x = self.pool(x)   # 下采样
        
        x = x.view(-1, 32 * 14 * 14) # 展平 (Flatten)
        x = self.fc1(x)
        return x

# --- 测试代码 ---
# 创建模型实例
model = SimpleCNN()
print(model)

# 模拟一张随机生成的图片 (Batch_size=1, Channel=1, Height=28, Width=28)
dummy_input = torch.randn(1, 1, 28, 28)
output = model(dummy_input)
print(f"\n输出形状: {output.shape}") # 应该是 [1, 10]
import tensorflow as tf
from tensorflow.keras import layers, models

def create_simple_cnn():
    model = models.Sequential()

    # 1. 卷积层 + 激活函数
    # input_shape=(28, 28, 1) 对应 高, 宽, 通道数
    model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))

    # 2. 池化层
    model.add(layers.MaxPooling2D((2, 2)))

    # 3. 展平层 (把多维特征图变成一维向量)
    model.add(layers.Flatten())

    # 4. 全连接层 (输出层)
    model.add(layers.Dense(10, activation='softmax')) # 10个类别

    return model

# --- 测试代码 ---
model = create_simple_cnn()

# 打印模型结构概览
model.summary()
相关推荐
hhzz9 小时前
Python大数据实战(十六):音乐推荐系统——基于协同过滤算法构建个性化歌单引擎
大数据·人工智能·python·数据挖掘·数据分析
SunnyDays10119 小时前
Python PDF 转 Markdown 详解(转换整个文档,特定页面,表格,扫描 PDF)
python·pdf 转 markdown·pdf 转 md·扫描 pdf 转 md·pdf 表格转 md
2601_954706499 小时前
云手机 API 自动化实战:Python 批量控机、挂机脚本完整实现
python·智能手机·自动化
Alan_69113 小时前
聊聊 Swagger/Postman/Apifox 的真实选型与 Python 项目实战
python·测试工具·postman
智慧物业老杨14 小时前
物业绿化数智化权责管控方案:基于工单平台的双层权限追溯模块落地实践
python
Metaphor69215 小时前
使用 Python 在 Word 文档中添加批注
python·word
FreakStudio15 小时前
WIZnet 开源方案分享:W55MH32 开发板 + 小智 AI实现以太网版本的小智机器人
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
会周易的程序员15 小时前
使用 pybind11 封装 C++ 日志库 microLog 为 Python 模块
java·c++·python·物联网·架构·日志·aiot
一只专注api接口开发的技术猿15 小时前
电商评论自动化监控与情感数据分析完整落地教程(附可直接运行 Python 代码)
大数据·数据库·python·数据分析·自动化
HAPPY酷15 小时前
【ROS2】 Conda 环境搭建(命令行版)
linux·运维·python·ubuntu·机器人·conda