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

机器学习第二十五讲:TensorFlow → 乐高式搭建深度学习模型

机器学习第二十五讲:TensorFlow → 乐高式搭建深度学习模型

资料取自《零基础学机器学习》。
查看总目录:学习大纲

关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南


TensorFlow详解:深度学习的乐高工具箱[^7-2]

TensorFlow就像智能乐高积木,能自由搭建各种复杂的AI模型。以"搭建猫狗识别游戏"为例:

神经图层
乐高底座
积木层堆叠
自定义连接
调节齿轮参数
训练识别引擎
一、核心设计理念(智能积木原理)

三大组装特性

  1. 计算图结构 → 乐高说明书

    import tensorflow as tf
    # 定义积木组件
    输入层 = tf.keras.layers.Input(shape=(256,256,3))  # 接收256xRGB图片[^9-2]
    卷积层 = tf.keras.layers.Conv2D(32, kernel_size=3)  # 3x3特征检测镜片
    输出层 = tf.keras.layers.Dense(2, activation='softmax')  # 0=猫 1=狗
    
  2. 张量流动 → 积木间的能量管道

    图片数据
    卷积层
    激发特征
    全连接层
    概率输出
  3. 自动微分 → 智能校准齿轮

    model.compile(optimizer='adam',  # 自动调节参数的工具箱[^2-3]loss='categorical_crossentropy'  # 误差测量尺
    )
    
二、典型搭建案例(儿童玩具分类器)

五层模型架构

model = tf.keras.Sequential([# 第1层:颜色扫描仪(卷积层)tf.keras.layers.Conv2D(16, (3,3), activation='relu', input_shape=(100,100,3)), # 第2层:重点抓取机(池化层)tf.keras.layers.MaxPooling2D(2,2),# 第3层:形状分析仪(全连接层)tf.keras.layers.Flatten(),tf.keras.layers.Dense(128, activation='relu'),# 第4层:分类开关(输出层)tf.keras.layers.Dense(5, activation='softmax')  # 5种玩具类型
])

训练效果演示

训练轮次乐高准确率玩偶准确率汽车准确率
145%38%27%
1089%82%76%
2097%94%91%

测试集最终准确率:93.5%(5类玩具数据集)[^10-1]

三、与Scikit-learn对比(预制模型 vs 自定义积木)
对比维度Scikit-learnTensorFlow差异说明[1][7]
定位传统机器学习工具包深度学习框架前者解决85%常见问题,后者解决复杂模式识别
代码风格函数式调用声明式构建如调用预制菜 vs 自制菜品
灵活性固定算法模板可自定义层与连接方式乐高基础款 vs 机械组套装
典型用途房价预测/客户分群图像识别/自然语言处理简单表格数据 vs 多维复杂数据
上手难度1小时掌握基础需3天理解核心概念儿童积木 vs 电路板焊接
硬件支持CPU运算GPU加速支持后者训练速度提升30倍[^7-2]
四、联合使用场景(工具箱组合技)

流水线协作模式

数据清洗/scikit-learn
特征工程/scikit-learn
模型构建/tensorflow
结果评估/scikit-learn

经典协作案例(人脸年龄预测)

  1. 使用scikit-learn预处理:

    from sklearn.preprocessing import StandardScaler
    scaler = StandardScaler()  # 统一图像像素范围[^4-1]
    
  2. TensorFlow构建CNN:

    model = tf.keras.Sequential([tf.keras.layers.Conv2D(32, (3,3), activation='relu'),tf.keras.layers.MaxPooling2D(2,2),tf.keras.layers.Dense(128, activation='relu'),tf.keras.layers.Dense(1)  # 输出年龄值
    ])
    
  3. 交叉验证评估:

    from sklearn.model_selection import KFold  # 借用scikit-learn功能[^8-2]
    
五、新手搭建指南(积木说明书)

三步安全搭建法

  1. 选择Keras接口 → 使用乐高说明书

    # 简化版语法(相比原生TensorFlow)
    model = tf.keras.models.Sequential()  [^7-2]
    
  2. 常用积木组件

    基础积木
    全连接层
    卷积层
    进阶积木
    时间序列层
    词向量层
  3. 调试技巧

    • 学习率调节 → 水流大小控制
    • Dropout → 随机关闭部分神经元防过拟合[^8-4]
    • 早停法 → 发现效果不提升自动终止训练[^8-2]
# 完整训练示例(MNIST手写数字识别)
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train = x_train / 255.0  # scikit-learn风格预处理[^4-1]model = tf.keras.models.Sequential([tf.keras.layers.Flatten(input_shape=(28, 28)),tf.keras.layers.Dense(128, activation='relu'),tf.keras.layers.Dropout(0.2),  # 正则化技巧[^8-4]tf.keras.layers.Dense(10, activation='softmax')
])model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])model.fit(x_train, y_train, epochs=5)  # 输出准确率98%[^10-1]

目录:总目录
上篇文章:机器学习第二十四讲:scikit-learn → 机器学习界的瑞士军刀


[^2-3]《零基础学机器学习》第二章第三节最优化方法
[^4-1]《零基础学机器学习》第四章第二节标准化
[^7-2]《零基础学机器学习》第七章第四/五节框架使用
[^8-2]《零基础学机器学习》第八章第三节交叉验证
[^8-4]《零基础学机器学习》第八章第五节正则化
[^9-2]《零基础学机器学习》第九章第二节CNN原理
[^10-1]《零基础学机器学习》第十章第一节项目实践

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

相关文章:

  • kafka吞吐量提升总结
  • halcon 连接相机
  • 消息队列RabbitMQ与AMQP协议详解
  • oracle数据库生成awr报告,排查数据库服务器CPU100%,系统卡顿,慢sql,根据sqlid查询关键信息,如会话SID,客户端机器名
  • 从零搭建SpringBoot Web单体项目3、SpringBoot 核心组件深度解析
  • leetcode hot100:十三、解题思路大全:多维动态规划(不同路径、最小路径和、最长回文子串、 最长公共子序列、编辑距离)
  • 微信小程序用<web-view 嵌入h5网页,改了h5网页后,可能是缓存的原因,小程序上看还是原来的,怎么处理
  • 【MySQL成神之路】MySQL索引相关介绍
  • 应届本科生简历制作指南
  • MySQL数据 在 磁盘上是什么样子的
  • DiagramJS设计原理解读(二)
  • CUDA 加速的基础线性代数库cuBLAS
  • Issac Lab安装
  • SPL做量化---MFI(资金流量指标)
  • 水陆两栖车,水域救援与陆地行动的桥梁
  • 掌握正则表达式:从基础语法到工程实践
  • Redis--SpringDataRedis详解
  • KCTF-CCG CrackMe crypto 1.0
  • TDengine 高可用——三副本
  • YOLOv5:调用官方权重进行检测
  • Socket套接字概述
  • MFC 中实现动态控件启用与命令执行
  • nRF Connect SDK开发之(1)运行一个Zephyr Project例程
  • Python Web开发基础
  • 并发编程之常用原子类
  • 免费直播预告 | 从标准解读到工具落地,《GB/T 45086与ISO11451标准解读》来了!
  • 前端学习笔记——Promis.All
  • ROS_Noetic的安装
  • 机器学习实战:犯罪率预测模型
  • 深入探讨Java循环:类型、性能与优化