TensorFlow-v2.15保姆级教程从环境搭建到模型训练手把手带你飞你是不是刚接触深度学习被各种环境配置、版本兼容、代码报错搞得头大或者想快速上手TensorFlow却不知道从何开始别担心这篇文章就是为你准备的。今天我将带你从零开始一步步完成TensorFlow-v2.15的环境搭建并亲手训练你的第一个神经网络模型。整个过程就像搭积木一样简单你不需要是编程高手也不需要懂复杂的数学原理只需要跟着我的步骤操作就行。我们将使用CSDN星图平台提供的预置镜像这意味着你不需要自己安装Python、TensorFlow、CUDA这些繁琐的依赖一切都已经为你准备好了。你只需要专注于理解核心概念和编写模型代码。准备好了吗让我们开始这段有趣的AI之旅吧。1. 环境准备为什么选择TensorFlow-v2.15和星图镜像在开始动手之前我们先花几分钟了解一下为什么这个组合是新手入门的最佳选择。这能帮你避开很多未来可能遇到的“坑”。1.1 TensorFlow-v2.15稳定与易用的完美平衡TensorFlow是谷歌大脑团队开发的深度学习框架可以说是这个领域的“老大哥”。而v2.15版本在我看来是新手入门的“黄金版本”。为什么这么说呢想象一下你学开车是选一辆最新款、功能复杂、还在不断调试的跑车还是选一辆经过市场多年检验、操作简单、故障率低的经典车型对于学习来说后者显然是更好的选择。TensorFlow-v2.15就是那辆“经典车型”。它不像最新的v2.16或未来的版本那样可能还在调整一些API应用程序接口你可以理解为框架的使用说明书导致你照着旧教程写的代码在新版本上跑不通。v2.15的API非常稳定网上大量的教程、问答社区比如Stack Overflow的解决方案都基于这个版本你遇到问题很容易找到答案。更重要的是v2.15已经完全拥抱了“即时执行”模式。这是什么意思呢在更早的TensorFlow 1.x版本里写代码像在画一张复杂的电路图他们叫“计算图”画完了才能通电运行看结果调试起来非常麻烦。而在v2.15里你可以像写普通的Python代码一样写一行运行一行立刻看到结果。这对初学者来说学习曲线平缓了太多。1.2 星图预置镜像告别“环境地狱”对于新手来说最大的拦路虎往往不是算法本身而是环境配置。“我在我电脑上装好了为什么跑不起来”——这个问题可能消耗掉你80%的初期热情。环境配置的麻烦主要来自几点版本冲突Python版本、TensorFlow版本、CUDAGPU驱动版本、cuDNNGPU加速库版本必须严格匹配错一个就可能报一堆看不懂的错误。系统差异Windows、Mac、Linux下的安装方法各不相同非常折腾。依赖缺失除了主要框架还需要安装一堆像NumPy、Pandas、Matplotlib这样的科学计算和画图库。而CSDN星图的TensorFlow-v2.15镜像完美解决了所有这些问题。它就像是一个已经为你装修好、家具家电齐全、拎包入住的“AI开发公寓”。里面预装了Python 3.8/3.9与TensorFlow-v2.15兼容性最好的版本TensorFlow 2.15 及其所有核心依赖完整的GPU支持环境CUDA, cuDNN如果你选了带GPU的实例开箱即用Jupyter Notebook/Lab一个在网页里写代码、看结果的交互式工具特别适合学习和探索常用的数据科学工具包NumPy, Pandas, Matplotlib等你的任务就是从“装修房子”变成了“使用房子”可以立刻开始最有趣的部分——构建和训练AI模型。1.3 你需要准备什么几乎不需要准备什么复杂的硬件或软件。一台能上网的电脑Windows, Mac, Linux都可以。一个现代浏览器比如Chrome, Edge, Firefox。一个CSDN账号用于登录星图平台注册很简单。是的就这么简单。所有的计算都将发生在云端的服务器上你的电脑只负责显示操作界面。我们这就开始吧。2. 三步上手启动你的第一个TensorFlow环境理论说再多不如动手做一遍。接下来我们将在5分钟内启动一个完整的TensorFlow开发环境。2.1 第一步找到并启动镜像打开浏览器访问 CSDN星图镜像广场。在搜索框输入“TensorFlow-v2.15”进行搜索。你也可以在分类中筛选“深度学习”或“机器学习”相关的镜像。在搜索结果中找到名为“TensorFlow-v2.15”的镜像。注意查看镜像描述确认它包含TensorFlow 2.15版本。点击镜像卡片上的“一键部署”或类似按钮。系统可能会让你选择实例配置比如用CPU还是GPU。对于第一个入门练习选择最基础的CPU实例就完全足够了成本最低。点击“确认”或“创建”。等待1-2分钟系统就会在云端为你创建好一个专属的虚拟开发环境。2.2 第二步进入开发环境Jupyter Notebook实例创建成功后你会看到一个“连接”或“进入”的按钮。通常平台会提供多种连接方式对于新手我们选择最直观的Jupyter Notebook。点击“Jupyter”或“打开Notebook”这个连接选项。浏览器会打开一个新标签页这就是你的在线编程环境了。它的界面看起来像一个文件管理器你可以在这里创建、上传、管理你的代码文件。2.3 第三步验证环境并说“Hello, TensorFlow!”环境已经就绪让我们写第一行代码来测试一下。在Jupyter界面中点击右上角的“New”按钮然后选择“Python 3 (ipykernel)”来创建一个新的代码文件我们称之为一个Notebook。在新打开的页面中你会看到一个空的“单元格”Cell。这里就是写代码的地方。在第一个单元格里输入以下代码import tensorflow as tf # 打印TensorFlow的版本确认安装成功 print(TensorFlow版本:, tf.__version__) # 尝试进行一个简单的张量Tensor可以理解为多维数组运算 hello tf.constant(Hello, TensorFlow!) print(hello.numpy().decode()) # 再做一个简单的数学计算 a tf.constant([[1, 2], [3, 4]]) b tf.constant([[5, 6], [7, 8]]) c tf.matmul(a, b) # 矩阵乘法 print(矩阵a:\n, a.numpy()) print(矩阵b:\n, b.numpy()) print(矩阵a和b的乘积:\n, c.numpy())点击单元格上方的“运行”按钮一个向右的三角形或者按快捷键Shift Enter。观察单元格下方的输出。如果一切正常你应该会看到类似下面的结果TensorFlow版本: 2.15.0 Hello, TensorFlow! 矩阵a: [[1 2] [3 4]] 矩阵b: [[5 6] [7 8]] 矩阵a和b的乘积: [[19 22] [43 50]]恭喜你你的TensorFlow-v2.15环境已经成功运行并且完成了第一次计算。这个环境现在完全听你指挥了。3. 核心概念初探用“搭积木”的思维理解神经网络在训练模型之前我们需要理解几个最核心的概念。别担心我会用最生活化的例子来解释。3.1 张量Tensor数据的容器你可以把张量理解为一种多维数组。它是TensorFlow中所有数据的基本单位。0维张量就是一个数字比如5也叫标量Scalar。1维张量就是一串数字比如[1, 2, 3, 4]也叫向量Vector。它可以表示一条数据的所有特征。2维张量就是一个表格比如[[1,2], [3,4]]也叫矩阵Matrix。它可以表示一个批次Batch的数据每行是一条数据。更高维张量比如3维像一本书多页表格、4维像一摞书多本书多页表格常用于图像高度、宽度、颜色通道或视频数据再加一个时间维。在我们之前的测试代码里a和b就是2维张量矩阵。3.2 层Layer神经网络的构建块神经网络是由一层一层的“层”堆叠起来的就像用乐高积木搭房子。每一层都会对输入的数据做一种特定的变换。Dense层全连接层最常用的一种。这一层的每个神经元可以理解为一个计算单元都和上一层的所有神经元相连。它擅长学习输入特征之间的复杂关系。想象一下你要根据“面积”、“楼层”、“学区”等多个特征预测房价Dense层就会综合考虑所有这些因素。Flatten层它不做计算只做“整形”。比如把一张28x28的图片一个2维表格拉平成一条有784个数字的长龙1维向量这样后面的Dense层才能处理。Dropout层这是一个“正则化”层用于防止模型学得太死板过拟合。它在训练时会随机“关闭”一部分神经元强迫网络学习更鲁棒的特征就像学生考试时不能只背答案要理解原理。3.3 模型Model组装好的积木城堡我们把不同的“层”按顺序堆叠起来就形成了一个模型。在TensorFlow中最简单地构建模型的方式是使用Sequential顺序模型。你可以把它想象成一个管道数据从入口进去依次流过每一层最终从出口出来一个结果。3.4 编译Compile告诉模型如何学习和评价模型结构搭好了我们还需要告诉它三件事优化器Optimizer模型如何根据犯的错误来调整自己内部的“积木”摆放参数adam是一个很聪明、很常用的优化器它会自适应地调整学习步伐。损失函数Loss Function如何量化模型犯的错对于分类问题sparse_categorical_crossentropy是常用选择它衡量预测概率分布和真实标签的差距。评估指标Metrics我们关心模型的什么表现对于分类最直观的就是准确率accuracy即预测正确的比例。把这些信息“编译”进模型它才知道该怎么进行接下来的训练。4. 实战演练训练你的第一个图像分类模型现在让我们用刚才学到的概念亲手训练一个能识别手写数字的模型。我们将使用深度学习的“Hello World”数据集——MNIST。4.1 第一步准备数据MNIST数据集MNIST数据集包含了6万张训练图片和1万张测试图片每张图片是一个28x28像素的手写数字0-9。TensorFlow已经内置了这个数据集我们可以直接加载。在你的Jupyter Notebook中新建一个单元格输入以下代码import tensorflow as tf from tensorflow import keras # 1. 加载数据 (x_train, y_train), (x_test, y_test) keras.datasets.mnist.load_data() # 2. 探索数据形状 print(训练数据形状:, x_train.shape) # 应该是 (60000, 28, 28) print(训练标签形状:, y_train.shape) # 应该是 (60000,) print(测试数据形状:, x_test.shape) # 应该是 (10000, 28, 28) print(测试标签形状:, y_test.shape) # 应该是 (10000,) # 3. 数据预处理归一化 # 图片像素值原来是0-255的整数我们把它缩放到0-1之间的浮点数让模型更容易学习 x_train, x_test x_train / 255.0, x_test / 255.0 # 让我们看一眼第一张训练图片和它的标签 import matplotlib.pyplot as plt plt.figure() plt.imshow(x_train[0], cmapplt.cm.binary) # 用黑白颜色显示 plt.colorbar() plt.title(f标签是: {y_train[0]}) plt.show()运行这段代码你会看到数据的形状信息并且弹出一张图片显示数字“5”或其他数字。这让你对数据有一个直观的感受。4.2 第二步构建神经网络模型接下来我们像搭积木一样搭建模型。新建一个单元格输入# 1. 构建一个顺序模型 model keras.Sequential([ # 第一层Flatten层把28x28的二维图片“拍平”成784个像素点的一维向量 keras.layers.Flatten(input_shape(28, 28)), # 第二层Dense层全连接层有128个神经元使用ReLU激活函数 # ReLU函数很简单如果输入0就原样输出如果输入0就输出0。它能给网络引入非线性。 keras.layers.Dense(128, activationrelu), # 第三层Dropout层随机丢弃20%的神经元防止过拟合 keras.layers.Dropout(0.2), # 第四层输出层Dense层有10个神经元对应0-9十个数字使用softmax激活函数 # softmax函数会把10个神经元的输出转换成10个概率值总和为1概率最大的那个就是模型的预测结果。 keras.layers.Dense(10, activationsoftmax) ]) # 2. 查看模型结构 model.summary()运行后model.summary()会打印出模型的结构摘要包括每一层的名称、输出形状和参数数量。你会看到这个小小的模型有超过10万个参数需要学习4.3 第三步编译模型告诉模型学习规则。新建单元格输入model.compile(optimizeradam, losssparse_categorical_crossentropy, metrics[accuracy])这行代码很短但非常重要。它配置了模型的“学习引擎”。4.4 第四步训练模型拟合数据最激动人心的时刻到了我们将数据“喂”给模型让它开始学习。新建单元格输入# 开始训练 # epochs5 表示把整个训练集从头到尾学习5遍 # validation_split0.1 表示从训练集中拿出10%作为验证集用于在训练过程中监控模型在没见过的数据上的表现 history model.fit(x_train, y_train, epochs5, validation_split0.1)运行这行代码你会看到屏幕上开始滚动输出。每一行代表一个批次batch的训练情况最后会汇总一个epoch的情况。关注loss损失越低越好和accuracy准确率越高越好。你会看到随着epoch增加训练集的准确率在上升损失在下降这说明模型正在学习4.5 第五步评估模型训练完成后我们需要看看这个模型在全新的、它从未见过的测试集上表现如何。新建单元格输入# 在测试集上评估模型 test_loss, test_acc model.evaluate(x_test, y_test, verbose2) print(f\n测试集准确率: {test_acc:.4f})运行后你会得到一个测试准确率。第一次训练这个准确率很可能就达到了97%以上这意味着你构建的模型对于识别手写数字100次里能对97次以上。是不是很有成就感4.6 第六步使用模型进行预测最后让我们用训练好的模型实际预测一张新图片。新建单元格输入# 从测试集中取一张图片 import numpy as np test_image x_test[0] true_label y_test[0] # 模型预测的是10个类别的概率分布 predictions model.predict(np.expand_dims(test_image, axis0)) # 需要增加一个批次维度 predicted_label np.argmax(predictions[0]) # 取概率最大的那个作为预测标签 print(f模型预测的数字是: {predicted_label}) print(f图片真实的数字是: {true_label}) # 可视化一下 plt.figure() plt.imshow(test_image, cmapplt.cm.binary) plt.title(f真实: {true_label}, 预测: {predicted_label}) plt.show()运行后你会看到模型对第一张测试图片的预测结果并显示这张图片。看看它预测对了吗5. 总结恭喜你你已经完成了深度学习入门中最重要的一步。让我们回顾一下你刚刚亲手完成的壮举零配置启动环境利用CSDN星图的TensorFlow-v2.15预置镜像你绕过了最繁琐的环境搭建步骤直接进入了核心学习环节。理解了核心概念你知道了张量是数据容器层是模型积木模型是积木城堡而编译是为城堡设定学习规则。完成了端到端流程你经历了机器学习项目的标准流程准备数据 - 构建模型 - 编译模型 - 训练模型 - 评估模型 - 使用模型预测。取得了实际成果你训练了一个准确率超过97%的手写数字识别模型并用它进行了预测。这只是一个开始。基于这个坚实的基础你可以尝试挑战更复杂的数据集比如识别衣服类型的Fashion MNIST识别物体的CIFAR-10。尝试更强大的模型比如卷积神经网络CNN它在图像识别上比我们今天用的全连接网络更强大。探索其他任务比如文本分类、房价预测等。记住今天你使用的这套方法——利用云平台预置环境快速上手聚焦于模型和算法本身——是最高效的学习和实践路径。它让你能把宝贵的时间和精力用在真正创造价值的地方。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。
TensorFlow-v2.15保姆级教程:从环境搭建到模型训练,手把手带你飞
TensorFlow-v2.15保姆级教程从环境搭建到模型训练手把手带你飞你是不是刚接触深度学习被各种环境配置、版本兼容、代码报错搞得头大或者想快速上手TensorFlow却不知道从何开始别担心这篇文章就是为你准备的。今天我将带你从零开始一步步完成TensorFlow-v2.15的环境搭建并亲手训练你的第一个神经网络模型。整个过程就像搭积木一样简单你不需要是编程高手也不需要懂复杂的数学原理只需要跟着我的步骤操作就行。我们将使用CSDN星图平台提供的预置镜像这意味着你不需要自己安装Python、TensorFlow、CUDA这些繁琐的依赖一切都已经为你准备好了。你只需要专注于理解核心概念和编写模型代码。准备好了吗让我们开始这段有趣的AI之旅吧。1. 环境准备为什么选择TensorFlow-v2.15和星图镜像在开始动手之前我们先花几分钟了解一下为什么这个组合是新手入门的最佳选择。这能帮你避开很多未来可能遇到的“坑”。1.1 TensorFlow-v2.15稳定与易用的完美平衡TensorFlow是谷歌大脑团队开发的深度学习框架可以说是这个领域的“老大哥”。而v2.15版本在我看来是新手入门的“黄金版本”。为什么这么说呢想象一下你学开车是选一辆最新款、功能复杂、还在不断调试的跑车还是选一辆经过市场多年检验、操作简单、故障率低的经典车型对于学习来说后者显然是更好的选择。TensorFlow-v2.15就是那辆“经典车型”。它不像最新的v2.16或未来的版本那样可能还在调整一些API应用程序接口你可以理解为框架的使用说明书导致你照着旧教程写的代码在新版本上跑不通。v2.15的API非常稳定网上大量的教程、问答社区比如Stack Overflow的解决方案都基于这个版本你遇到问题很容易找到答案。更重要的是v2.15已经完全拥抱了“即时执行”模式。这是什么意思呢在更早的TensorFlow 1.x版本里写代码像在画一张复杂的电路图他们叫“计算图”画完了才能通电运行看结果调试起来非常麻烦。而在v2.15里你可以像写普通的Python代码一样写一行运行一行立刻看到结果。这对初学者来说学习曲线平缓了太多。1.2 星图预置镜像告别“环境地狱”对于新手来说最大的拦路虎往往不是算法本身而是环境配置。“我在我电脑上装好了为什么跑不起来”——这个问题可能消耗掉你80%的初期热情。环境配置的麻烦主要来自几点版本冲突Python版本、TensorFlow版本、CUDAGPU驱动版本、cuDNNGPU加速库版本必须严格匹配错一个就可能报一堆看不懂的错误。系统差异Windows、Mac、Linux下的安装方法各不相同非常折腾。依赖缺失除了主要框架还需要安装一堆像NumPy、Pandas、Matplotlib这样的科学计算和画图库。而CSDN星图的TensorFlow-v2.15镜像完美解决了所有这些问题。它就像是一个已经为你装修好、家具家电齐全、拎包入住的“AI开发公寓”。里面预装了Python 3.8/3.9与TensorFlow-v2.15兼容性最好的版本TensorFlow 2.15 及其所有核心依赖完整的GPU支持环境CUDA, cuDNN如果你选了带GPU的实例开箱即用Jupyter Notebook/Lab一个在网页里写代码、看结果的交互式工具特别适合学习和探索常用的数据科学工具包NumPy, Pandas, Matplotlib等你的任务就是从“装修房子”变成了“使用房子”可以立刻开始最有趣的部分——构建和训练AI模型。1.3 你需要准备什么几乎不需要准备什么复杂的硬件或软件。一台能上网的电脑Windows, Mac, Linux都可以。一个现代浏览器比如Chrome, Edge, Firefox。一个CSDN账号用于登录星图平台注册很简单。是的就这么简单。所有的计算都将发生在云端的服务器上你的电脑只负责显示操作界面。我们这就开始吧。2. 三步上手启动你的第一个TensorFlow环境理论说再多不如动手做一遍。接下来我们将在5分钟内启动一个完整的TensorFlow开发环境。2.1 第一步找到并启动镜像打开浏览器访问 CSDN星图镜像广场。在搜索框输入“TensorFlow-v2.15”进行搜索。你也可以在分类中筛选“深度学习”或“机器学习”相关的镜像。在搜索结果中找到名为“TensorFlow-v2.15”的镜像。注意查看镜像描述确认它包含TensorFlow 2.15版本。点击镜像卡片上的“一键部署”或类似按钮。系统可能会让你选择实例配置比如用CPU还是GPU。对于第一个入门练习选择最基础的CPU实例就完全足够了成本最低。点击“确认”或“创建”。等待1-2分钟系统就会在云端为你创建好一个专属的虚拟开发环境。2.2 第二步进入开发环境Jupyter Notebook实例创建成功后你会看到一个“连接”或“进入”的按钮。通常平台会提供多种连接方式对于新手我们选择最直观的Jupyter Notebook。点击“Jupyter”或“打开Notebook”这个连接选项。浏览器会打开一个新标签页这就是你的在线编程环境了。它的界面看起来像一个文件管理器你可以在这里创建、上传、管理你的代码文件。2.3 第三步验证环境并说“Hello, TensorFlow!”环境已经就绪让我们写第一行代码来测试一下。在Jupyter界面中点击右上角的“New”按钮然后选择“Python 3 (ipykernel)”来创建一个新的代码文件我们称之为一个Notebook。在新打开的页面中你会看到一个空的“单元格”Cell。这里就是写代码的地方。在第一个单元格里输入以下代码import tensorflow as tf # 打印TensorFlow的版本确认安装成功 print(TensorFlow版本:, tf.__version__) # 尝试进行一个简单的张量Tensor可以理解为多维数组运算 hello tf.constant(Hello, TensorFlow!) print(hello.numpy().decode()) # 再做一个简单的数学计算 a tf.constant([[1, 2], [3, 4]]) b tf.constant([[5, 6], [7, 8]]) c tf.matmul(a, b) # 矩阵乘法 print(矩阵a:\n, a.numpy()) print(矩阵b:\n, b.numpy()) print(矩阵a和b的乘积:\n, c.numpy())点击单元格上方的“运行”按钮一个向右的三角形或者按快捷键Shift Enter。观察单元格下方的输出。如果一切正常你应该会看到类似下面的结果TensorFlow版本: 2.15.0 Hello, TensorFlow! 矩阵a: [[1 2] [3 4]] 矩阵b: [[5 6] [7 8]] 矩阵a和b的乘积: [[19 22] [43 50]]恭喜你你的TensorFlow-v2.15环境已经成功运行并且完成了第一次计算。这个环境现在完全听你指挥了。3. 核心概念初探用“搭积木”的思维理解神经网络在训练模型之前我们需要理解几个最核心的概念。别担心我会用最生活化的例子来解释。3.1 张量Tensor数据的容器你可以把张量理解为一种多维数组。它是TensorFlow中所有数据的基本单位。0维张量就是一个数字比如5也叫标量Scalar。1维张量就是一串数字比如[1, 2, 3, 4]也叫向量Vector。它可以表示一条数据的所有特征。2维张量就是一个表格比如[[1,2], [3,4]]也叫矩阵Matrix。它可以表示一个批次Batch的数据每行是一条数据。更高维张量比如3维像一本书多页表格、4维像一摞书多本书多页表格常用于图像高度、宽度、颜色通道或视频数据再加一个时间维。在我们之前的测试代码里a和b就是2维张量矩阵。3.2 层Layer神经网络的构建块神经网络是由一层一层的“层”堆叠起来的就像用乐高积木搭房子。每一层都会对输入的数据做一种特定的变换。Dense层全连接层最常用的一种。这一层的每个神经元可以理解为一个计算单元都和上一层的所有神经元相连。它擅长学习输入特征之间的复杂关系。想象一下你要根据“面积”、“楼层”、“学区”等多个特征预测房价Dense层就会综合考虑所有这些因素。Flatten层它不做计算只做“整形”。比如把一张28x28的图片一个2维表格拉平成一条有784个数字的长龙1维向量这样后面的Dense层才能处理。Dropout层这是一个“正则化”层用于防止模型学得太死板过拟合。它在训练时会随机“关闭”一部分神经元强迫网络学习更鲁棒的特征就像学生考试时不能只背答案要理解原理。3.3 模型Model组装好的积木城堡我们把不同的“层”按顺序堆叠起来就形成了一个模型。在TensorFlow中最简单地构建模型的方式是使用Sequential顺序模型。你可以把它想象成一个管道数据从入口进去依次流过每一层最终从出口出来一个结果。3.4 编译Compile告诉模型如何学习和评价模型结构搭好了我们还需要告诉它三件事优化器Optimizer模型如何根据犯的错误来调整自己内部的“积木”摆放参数adam是一个很聪明、很常用的优化器它会自适应地调整学习步伐。损失函数Loss Function如何量化模型犯的错对于分类问题sparse_categorical_crossentropy是常用选择它衡量预测概率分布和真实标签的差距。评估指标Metrics我们关心模型的什么表现对于分类最直观的就是准确率accuracy即预测正确的比例。把这些信息“编译”进模型它才知道该怎么进行接下来的训练。4. 实战演练训练你的第一个图像分类模型现在让我们用刚才学到的概念亲手训练一个能识别手写数字的模型。我们将使用深度学习的“Hello World”数据集——MNIST。4.1 第一步准备数据MNIST数据集MNIST数据集包含了6万张训练图片和1万张测试图片每张图片是一个28x28像素的手写数字0-9。TensorFlow已经内置了这个数据集我们可以直接加载。在你的Jupyter Notebook中新建一个单元格输入以下代码import tensorflow as tf from tensorflow import keras # 1. 加载数据 (x_train, y_train), (x_test, y_test) keras.datasets.mnist.load_data() # 2. 探索数据形状 print(训练数据形状:, x_train.shape) # 应该是 (60000, 28, 28) print(训练标签形状:, y_train.shape) # 应该是 (60000,) print(测试数据形状:, x_test.shape) # 应该是 (10000, 28, 28) print(测试标签形状:, y_test.shape) # 应该是 (10000,) # 3. 数据预处理归一化 # 图片像素值原来是0-255的整数我们把它缩放到0-1之间的浮点数让模型更容易学习 x_train, x_test x_train / 255.0, x_test / 255.0 # 让我们看一眼第一张训练图片和它的标签 import matplotlib.pyplot as plt plt.figure() plt.imshow(x_train[0], cmapplt.cm.binary) # 用黑白颜色显示 plt.colorbar() plt.title(f标签是: {y_train[0]}) plt.show()运行这段代码你会看到数据的形状信息并且弹出一张图片显示数字“5”或其他数字。这让你对数据有一个直观的感受。4.2 第二步构建神经网络模型接下来我们像搭积木一样搭建模型。新建一个单元格输入# 1. 构建一个顺序模型 model keras.Sequential([ # 第一层Flatten层把28x28的二维图片“拍平”成784个像素点的一维向量 keras.layers.Flatten(input_shape(28, 28)), # 第二层Dense层全连接层有128个神经元使用ReLU激活函数 # ReLU函数很简单如果输入0就原样输出如果输入0就输出0。它能给网络引入非线性。 keras.layers.Dense(128, activationrelu), # 第三层Dropout层随机丢弃20%的神经元防止过拟合 keras.layers.Dropout(0.2), # 第四层输出层Dense层有10个神经元对应0-9十个数字使用softmax激活函数 # softmax函数会把10个神经元的输出转换成10个概率值总和为1概率最大的那个就是模型的预测结果。 keras.layers.Dense(10, activationsoftmax) ]) # 2. 查看模型结构 model.summary()运行后model.summary()会打印出模型的结构摘要包括每一层的名称、输出形状和参数数量。你会看到这个小小的模型有超过10万个参数需要学习4.3 第三步编译模型告诉模型学习规则。新建单元格输入model.compile(optimizeradam, losssparse_categorical_crossentropy, metrics[accuracy])这行代码很短但非常重要。它配置了模型的“学习引擎”。4.4 第四步训练模型拟合数据最激动人心的时刻到了我们将数据“喂”给模型让它开始学习。新建单元格输入# 开始训练 # epochs5 表示把整个训练集从头到尾学习5遍 # validation_split0.1 表示从训练集中拿出10%作为验证集用于在训练过程中监控模型在没见过的数据上的表现 history model.fit(x_train, y_train, epochs5, validation_split0.1)运行这行代码你会看到屏幕上开始滚动输出。每一行代表一个批次batch的训练情况最后会汇总一个epoch的情况。关注loss损失越低越好和accuracy准确率越高越好。你会看到随着epoch增加训练集的准确率在上升损失在下降这说明模型正在学习4.5 第五步评估模型训练完成后我们需要看看这个模型在全新的、它从未见过的测试集上表现如何。新建单元格输入# 在测试集上评估模型 test_loss, test_acc model.evaluate(x_test, y_test, verbose2) print(f\n测试集准确率: {test_acc:.4f})运行后你会得到一个测试准确率。第一次训练这个准确率很可能就达到了97%以上这意味着你构建的模型对于识别手写数字100次里能对97次以上。是不是很有成就感4.6 第六步使用模型进行预测最后让我们用训练好的模型实际预测一张新图片。新建单元格输入# 从测试集中取一张图片 import numpy as np test_image x_test[0] true_label y_test[0] # 模型预测的是10个类别的概率分布 predictions model.predict(np.expand_dims(test_image, axis0)) # 需要增加一个批次维度 predicted_label np.argmax(predictions[0]) # 取概率最大的那个作为预测标签 print(f模型预测的数字是: {predicted_label}) print(f图片真实的数字是: {true_label}) # 可视化一下 plt.figure() plt.imshow(test_image, cmapplt.cm.binary) plt.title(f真实: {true_label}, 预测: {predicted_label}) plt.show()运行后你会看到模型对第一张测试图片的预测结果并显示这张图片。看看它预测对了吗5. 总结恭喜你你已经完成了深度学习入门中最重要的一步。让我们回顾一下你刚刚亲手完成的壮举零配置启动环境利用CSDN星图的TensorFlow-v2.15预置镜像你绕过了最繁琐的环境搭建步骤直接进入了核心学习环节。理解了核心概念你知道了张量是数据容器层是模型积木模型是积木城堡而编译是为城堡设定学习规则。完成了端到端流程你经历了机器学习项目的标准流程准备数据 - 构建模型 - 编译模型 - 训练模型 - 评估模型 - 使用模型预测。取得了实际成果你训练了一个准确率超过97%的手写数字识别模型并用它进行了预测。这只是一个开始。基于这个坚实的基础你可以尝试挑战更复杂的数据集比如识别衣服类型的Fashion MNIST识别物体的CIFAR-10。尝试更强大的模型比如卷积神经网络CNN它在图像识别上比我们今天用的全连接网络更强大。探索其他任务比如文本分类、房价预测等。记住今天你使用的这套方法——利用云平台预置环境快速上手聚焦于模型和算法本身——是最高效的学习和实践路径。它让你能把宝贵的时间和精力用在真正创造价值的地方。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。