当前位置: 首页 > news >正文

python第31天打卡

import numpy as np
from tensorflow import keras
from tensorflow.keras import layers, optimizers, utils, datasets# 数据加载和预处理函数
def load_and_preprocess_data():(x_train, y_train), (x_test, y_test) = datasets.mnist.load_data()# 重塑并归一化图像数据x_train = x_train.reshape(-1, 28, 28, 1).astype("float32") / 255.0x_test = x_test.reshape(-1, 28, 28, 1).astype("float32") / 255.0# 转换标签为one-hot编码y_train = utils.to_categorical(y_train, 10)y_test = utils.to_categorical(y_test, 10)return (x_train, y_train), (x_test, y_test)# 模型定义
def create_simple_cnn():return keras.Sequential([layers.Conv2D(16, (3, 3), activation='relu', input_shape=(28, 28, 1)),layers.MaxPooling2D((2, 2)),layers.Flatten(),layers.Dense(128, activation='relu'),layers.Dense(10, activation='softmax')])def create_complex_cnn():return keras.Sequential([layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.MaxPooling2D((2, 2)),layers.Flatten(),layers.Dense(256, activation='relu'),layers.Dense(128, activation='relu'),layers.Dense(10, activation='softmax')])# 训练和评估函数
def train_and_evaluate(model, optimizer, x_train, y_train, x_test, y_test):model.compile(optimizer=optimizer,loss='categorical_crossentropy',metrics=['accuracy'])history = model.fit(x_train, y_train,epochs=5,batch_size=64,validation_data=(x_test, y_test))return history.history# 主程序
if __name__ == "__main__":# 加载数据(x_train, y_train), (x_test, y_test) = load_and_preprocess_data()# 模型和优化器配置model_configs = [('Simple CNN', create_simple_cnn),('Complex CNN', create_complex_cnn)]optimizers_config = {'SGD': optimizers.SGD(learning_rate=0.01),'Adam': optimizers.Adam(learning_rate=0.001)}# 训练和评估所有组合results = {}for model_name, model_fn in model_configs:for opt_name, optimizer in optimizers_config.items():print(f"\n{'='*50}")print(f"Training {model_name} with {opt_name} optimizer:")model = model_fn()history = train_and_evaluate(model, optimizer,x_train, y_train,x_test, y_test)# 记录结果results[f"{model_name}_{opt_name}"] = historyprint(f"\nTraining results for {model_name}/{opt_name}:")print(f"Final Training Accuracy: {history['accuracy'][-1]:.4f}")print(f"Final Validation Accuracy: {history['val_accuracy'][-1]:.4f}")print(f"Final Training Loss: {history['loss'][-1]:.4f}")print(f"Final Validation Loss: {history['val_loss'][-1]:.4f}")

@浙大疏锦行

http://www.xdnf.cn/news/787969.html

相关文章:

  • Python 接口:从协议到抽象基 类(使用猴子补丁在运行时实现协议)
  • LangChain实战:文档加载、分割与向量存储详解
  • 第三十三天打卡复习
  • 机器学习——放回抽样
  • 008房屋租赁系统技术揭秘:构建智能租赁服务生态
  • Matlab自学笔记五十七:符号运算、可变精度运算、双精度浮点型运算,三种运算精度的概念、比较、选择和应用
  • 【25-cv-05991】Keith律所代理Ana Maria油画版权
  • kubeSphere安装使用
  • 流、线程、任务、队列等相关在不同语言的区别联系
  • 项目计划缺乏风险评估和应对策略,如何完善
  • Qiskit:量子计算模拟器
  • Prj09--8088单板机C语言8253产生1KHz方波(1)
  • HTTP Error 400 Bad request 问题分析解决
  • spring boot应答500问题跟踪
  • YAML 文件中不同格式的含义详解
  • Flink 重启后事件被重复消费的原因与解决方案
  • Deep Search之R1-Searcher系列
  • QT实现动画翻转效果
  • Docker 镜像深度剖析:构建、管理与优化
  • 多模态知识图谱可视化构建(neo4j+python+flask+vue环境搭建与示例)
  • 秋招准备-数据结构
  • 前端面试题之Class详解
  • @Resource和@Autowire
  • 《前端面试题:CSS预处理器(Sass、Less等)》
  • 代码训练LeetCode(19)轮转数组
  • 【学习记录】深入解析 AI 交互中的五大核心概念:Prompt、Agent、MCP、Function Calling 与 Tools
  • 全球常用地理信息、遥感数据处理软件介绍(单机版、在线云平台)
  • LeetCode 高频 SQL 50 题(基础版) 之 【高级查询和连接】· 下
  • 【Typst】5.文档结构元素与函数
  • 突破视觉认知边界VisionReasoner:用强化学习统一视觉感知与推理的全能框架