TensorFlow基础:初学者的第一个模型训练

这篇博客适合初学者了解模型训练是怎么一回事,用最简单的代码实现模型训练,但是你需要一点python的知识和一个你擅长的开发环境(比如:jupyter notebook)

总共需要下面几个步骤

  1. 导入包
  2. 引入数据
  3. 数据处理
  4. 创建模型
  5. 编译模型
  6. 传入数据并训练
导入包
import tensorflow as tf
from tensorflow.keras.layers import Dense, Flatten, Conv2D
from tensorflow.keras import Model
  • 没有安装tensorflow,出门右转,百度“tensorflow安装教程”,很简单的,建议pip安装
  • 建议TensorFlow 2.0以上
引入数据
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
               'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
  • 这里直接用的TensorFlow内置的数据集,方便教程
  • 大多时候数据集,可以在本地,直接图片的形式或者cvs格式
  • class_names:在训练中没有太大的用处,只是方便我们纠正数据是否正确,因为计算机只认识0,1,2,3 这样的类别
数据处理
train_images = train_images / 255.0
test_images = test_images / 255.0
  • 这里只是对数据进行了归一化处理,图片像素值变为了(0,1)之间,方便计算机计算,因为数据太大容易出现很多问题
  • 还有很多其他的数据处理方式,比如灰度处理、去噪音、旋转、剪切等
创建模型
model = keras.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(128, activation='relu'),
    keras.layers.Dense(10)
])
  • 这里是用了简单的全连接,参数量只有10万左右,在本地CPU也能跑起来,正常的参数量都在几千万左右,CPU很难跑起来,都需要GPU才行
模型编译
model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])
  • 优化器选的adam,新手一般都选adam,另外告诉喜欢用SGD(随机梯度下降法)
  • 损失函数:SparseCategoricalCrossentropy,当分类用0,1,2,3……9,这样的分类时候,就选SparseCategoricalCrossentropy,其他的方式可以看关于我的优化器的博客
训练模型
model.fit(train_images, train_labels, epochs=10, validation_data = (test_images, test_labels))
  • epochs:表示训练循环10次
  • 编译模型中度量模型好坏的标准,我选的accuracy(准确度),所有这里每次循环结束会打印出测试数据集中的准确度
  • 下面是我跑完的截图,不到一分钟时间,准确度在88%左右
    在这里插入图片描述

总结

大家一定要自己动手试试,不懂的就百度,有问题可以在评论区提问,我尽量在第一时间回复大家,和大家一起进步

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: TensorFlow 2.0是Google开发的一款开源机器学习框架,它是TensorFlow的最新版本。相对于早期版本,TensorFlow 2.0更加易用,具有更好的性能和更好的可维护性。TensorFlow 2.0提供了Keras API的全面支持,使得构建神经网络变得更加容易和快速。此外,TensorFlow 2.0还提供了Eager Execution模式,这意味着可以在Python环境下进行实时计算和调试,而不需要像以前一样需要构建计算图。总之,TensorFlow 2.0是一个非常强大的机器学习框架,可以帮助开发者更加高效地构建和训练模型。 ### 回答2: TensorFlow是一个开源的人工智能框架,它是由Google开发并发布的。TensorFlow 2是TensorFlow的第二个重要版本,并且在原有版本的基础上进行了许多改进和优化。 TensorFlow 2 有很多新的特性和功能。首先,它引入了Keras的高级API作为默认的API。这样做使得TensorFlow变得更加易用和直观,并且可以方便地进行快速原型设计和模型迭代。 其次,TensorFlow 2可以进行动态计算图和静态计算图的混合运行。这意味着可以根据需要选择使用静态计算图(在编译时优化)或者动态计算图(在运行时优化)来加快计算速度。 另外,TensorFlow 2还引入了Eager Execution机制。这种机制允许用户即时地运行代码并获取结果,而无需进行繁琐的图构建和会话管理。 TensorFlow 2还具有更好的可移植性和可部署性。用户可以将模型轻松地导出到不同的设备和平台上,并在其他环境中重新加载和运行模型。 最后,TensorFlow 2还提供了更多的工具和函数来支持模型的开发和调试。例如,TensorBoard可以可视化模型训练过程和性能指标,tf.data可以高效地加载和预处理数据。 总而言之,TensorFlow 2是一个功能强大且易用的深度学习框架,它不仅提供了高级API和各种工具,还具有高度的可移植性和可扩展性。无论是研究人员还是开发者,都可以使用TensorFlow 2来更加轻松地开发和部署自己的机器学习模型。 ### 回答3: TensorFlow 2是谷歌开发的一种开源的深度学习框架。它是TensorFlow的第二个主要版本,旨在提供更直观、更易用的编程体验,以支持广泛的机器学习和深度学习任务。 TensorFlow 2的最大变化是引入了动态图机制。与TensorFlow 1相比,动态图允许用户更自由地定义和修改模型结构,无需预先定义计算图。这使得开发和调试更加简单和灵活,尤其对于初学者来说更容易上手。 此外,TensorFlow 2还内置了一些高级功能,如Keras API。Keras是一个流行的深度学习框架,它以简洁易懂的接口和模块化设计而闻名。TensorFlow 2将Keras作为其封装的一部分,使得构建和训练神经网络模型更加简单和高效。 在功能方面,TensorFlow 2支持多种数据类型、多种硬件平台和多种运行环境。可以使用CPU、GPU或TPU等不同硬件来加速模型训练和推理。此外,TensorFlow 2提供了丰富的工具、库和扩展,使其能够支持各种深度学习任务,如图像处理、自然语言处理和推荐系统等。 总而言之,TensorFlow 2是一个强大且易用的深度学习框架,它在设计上注重简单性和灵活性。无论是初学者还是专业人士,都可以利用TensorFlow 2来构建、训练和部署各种复杂的机器学习和深度学习模型

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值