TensorFlow(keras)入门课程--02 计算机视觉的介绍

逻辑回归 继续机器学习系列基础算法,逻辑回归定义问题首先我们依然是定义问题,逻辑回归是解决分类问题,而且是基本的二分类问题,比如经典的垃圾邮件判定,根据疾病的特征预测死亡率。比如现在我给出这样一个问题,基于邮件的两个特征值去判定邮件是不是为垃圾邮件,根据数据画出的分布图如下。蓝色表示不是垃圾邮件,红色表示是垃圾邮件,我们要做的是学习去拟合一个分类决策边界,然后就能根据这个模型预测。 逻辑回归分布设X是连续的 阅读详情

目录

  • 1 简介
  • 2 开始编码
  • 3 设计模型
  • 4 编译和训练模型
  • 5 模型测试

1 简介

在本章,我们将超越实验1中TensorFlow的基本Hello World,并将应用所学到的知识来创建可识别服装项目的计算机视觉模型。

2 开始编码

# 查看一下TensorFlow的版本信息
import tensorflow as tf
print(tf.__version__)
1.13.1

下面我们将训练神经网络来识别名为Fashion MNIST数据集中的衣物,它包含10种不同 类别的70000件服装,每件衣服都是28×28灰度图像。如下图所示

Fashion MNIST数据集可直接在tf.keras.datasetsAPI中获得

fashion_mnist = tf.keras.datasets.fashion_mnist

在此对象中调用load_data会为你提供两组两个列表:训练值和测试纸,这些值表示服装项目以及标签

(training_images,training_labels),(test_images,test_labels) = fashion_mnist.load_data()

让我们打印一个训练图像和标签来查看

import matplotlib.pyplot as plt
plt.imshow(training_images[0])
print(training_labels[0])
print(training_images[0])
9
[[  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   1   0   0  13  73   0
    0   1   4   0   0   0   0   1   1   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   3   0  36 136 127  62
   54   0   0   0   1   3   4   0   0   3]
 [  0   0   0   0   0   0   0   0   0   0   0   0   6   0 102 204 176 134
  144 123  23   0   0   0   0  12  10   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0 155 236 207 178
  107 156 161 109  64  23  77 130  72  15]
 [  0   0   0   0   0   0   0   0   0   0   0   1   0  69 207 223 218 216
  216 163 127 121 122 146 141  88 172  66]
 [  0   0   0   0   0   0   0   0   0   1   1   1   0 200 232 232 233 229
  223 223 215 213 164 127 123 196 229   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0 183 225 216 223 228
  235 227 224 222 224 221 223 245 173   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0 193 228 218 213 198
  180 212 210 211 213 223 220 243 202   0]
 [  0   0   0   0   0   0   0   0   0   1   3   0  12 219 220 212 218 192
  169 227 208 218 224 212 226 197 209  52]
 [  0   0   0   0   0   0   0   0   0   0   6   0  99 244 222 220 218 203
  198 221 215 213 222 220 245 119 167  56]
 [  0   0   0   0   0   0   0   0   0   4   0   0  55 236 228 230 228 240
  232 213 218 223 234 217 217 209  92   0]
 [  0   0   1   4   6   7   2   0   0   0   0   0 237 226 217 223 222 219
  222 221 216 223 229 215 218 255  77   0]
 [  0   3   0   0   0   0   0   0   0  62 145 204 228 207 213 221 218 208
  211 218 224 223 219 215 224 244 159   0]
 [  0   0   0   0  18  44  82 107 189 228 220 222 217 226 200 205 211 230
  224 234 176 188 250 248 233 238 215   0]
 [  0  57 187 208 224 221 224 208 204 214 208 209 200 159 245 193 206 223
  255 255 221 234 221 211 220 232 246   0]
 [  3 202 228 224 221 211 211 214 205 205 205 220 240  80 150 255 229 221
  188 154 191 210 204 209 222 228 225   0]
 [ 98 233 198 210 222 229 229 234 249 220 194 215 217 241  65  73 106 117
  168 219 221 215 217 223 223 224 229  29]
 [ 75 204 212 204 193 205 211 225 216 185 197 206 198 213 240 195 227 245
  239 223 218 212 209 222 220 221 230  67]
 [ 48 203 183 194 213 197 185 190 194 192 202 214 219 221 220 236 225 216
  199 206 186 181 177 172 181 205 206 115]
 [  0 122 219 193 179 171 183 196 204 210 213 207 211 210 200 196 194 191
  195 191 198 192 176 156 167 177 210  92]
 [  0   0  74 189 212 191 175 172 175 181 185 188 189 188 193 198 204 209
  210 210 211 188 188 194 192 216 170   0]
 [  2   0   0   0  66 200 222 237 239 242 246 243 244 221 220 193 191 179
  182 182 181 176 166 168  99  58   0   0]
 [  0   0   0   0   0   0   0  40  61  44  72  41  35   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]]

我们可以注意到所有的值都是0到255之间的整数。当训练神经网络时,将所有值都 处理为0到1之间更容易处理,这个 过程称为规范化。

training_images = training_images / 255.0
test_images = test_images / 255.0

3 设计模型

我们可以参考01来设计模型,但是这里不是只有一个神经元,而是有三层。

model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(128,activation=tf.nn.relu),
    tf.keras.layers.Dense(10,activation=tf.nn.softmax)
])

Sequential():定义了神经网络中层的序列

Flatten():展平层,将图形转为一维向量

Dense():全连接层,添加了一层神经元

Relu:if X>0 return X, else return 0.它只将值0或更大值传递给网络中的下一层。

Softmax:采用一组值,并有效的选择最大值。例如,如果最后一层输出为[0.1, 0.1, 0.05, 0.1, 9.5, 0.1, 0.05, 0.05, 0.05],保存从哪个最大值的排序,返回[0,0,0,0,1,0,0,0,0]

4 编译和训练模型

现在已经定义了模型,接下来要做的是构建它,

model.compile(optimizer=tf.train.AdamOptimizer(),
              loss="sparse_categorical_crossentropy",
              metrics=["accuracy"])
model.fit(training_images,training_labels,epochs=5)
Epoch 1/5
60000/60000 [==============================] - 3s 54us/sample - loss: 0.4973 - acc: 0.8259
Epoch 2/5
60000/60000 [==============================] - 3s 54us/sample - loss: 0.3738 - acc: 0.8654
Epoch 3/5
60000/60000 [==============================] - 3s 53us/sample - loss: 0.3341 - acc: 0.8783
Epoch 4/5
60000/60000 [==============================] - 3s 54us/sample - loss: 0.3109 - acc: 0.8859
Epoch 5/5
60000/60000 [==============================] - 3s 52us/sample - loss: 0.2929 - acc: 0.8918





<tensorflow.python.keras.callbacks.History at 0x1bc5efb7780>

模型训练完成后,可以在最高一个时期看到准确率。大约为89%。

5 测试模型

但是模型是如何对未见过的数据执行呢?这就是我们测试集的原因.

model.evaluate(test_images,test_labels)
10000/10000 [==============================] - 0s 35us/sample - loss: 0.3429 - acc: 0.8783





[0.34285926821231844, 0.8783]

在这里,它返回了87.83%.正如预期的那样,模型对未知数据的准确性不如它训练的数据那么准确,


Tensorflow入门 文章简单介绍了tensorflow和keras,并用鸢尾花(iris)分类案例,介绍tf.keras的基本使用流程。 阅读详情

相关推荐

Python与TensorFlow/Keras深度学习入门实战指南

深度学习作为人工智能的核心技术,通过神经网络模拟人脑处理复杂数据。Python凭借其简洁语法和丰富生态成为深度学习首选语言,结合TensorFlow/Keras框架可实现高效模型开发。TensorFlow 2.0深度整合Keras API,提供从高层抽象到底层控制的全栈能力,特别适合快速原型开发和工业应用。本文以计算机视觉和自然语言处理为应用场景,详解CNN、LSTM等经典网络实现,涵盖环境搭建、模型训练、性能优化到生产部署的全流程实践,帮助开发者快速掌握深度学习工程化方法。

weixin_30240349的博客 390

【CV】第 1 章:计算机视觉和 TensorFlow 基础知识

上述代码导入了机器学习和计算机视觉工作所需的Python库,例如用于处理数组的 NumPy、用于 openCV 计算机视觉工作的 cv2、用于处理Python代码中的图像的 PIL 以及用于绘制结果的M atplotlib。但是,一阶导数法的问题是,根据输入函数的不同,最大值会发生变化,因此无法预先确定最大值的阈值。例如,大小为 的图像224 x 224可以表示为 rank 的张量4,128, 224, 224, 3其中128是神经网络的批大小,224是高度和宽度,3是颜色通道(R、G 和 B)。

sikh_0529的博客 2748

Keras、TensorFlow、PyTorch框架对比及服务器配置揭秘

GPU 决定模型训练速度。随后,几行代码完成模型的编译和训练,短时间内就能得到一个初步的图像分类模型。这一过程,能让新手快速验证自己的想法,感受深度学习的魅力,非常适合用于快速搭建原型,进行思路验证。例如,在机器翻译任务中,研究人员可以利用 PyTorch 轻松构建基于 Transformer 架构的模型,通过动态计算图快速调整模型结构和参数,进行创新的研究实验。动态计算图就像是一个实时的 “操作指南”,能让你在调试模型时,清晰直观地看到模型的运行过程,仿佛拥有了一双透视眼,能够洞察模型内部的每一个细节。

sunly31489的博客 1629

视觉深度学习:使用 TensorFlow 进行图像分类

我们只想将其应用于某些图像,因此我们使用较低的概率。在这里,我们将使用 CIFAR10 数据集。我们可以在任何库中创建模型,但 TensorFlow 对于初学者来说是一个很好的起点,我们将使用这个库来创建一个。为了验证我们是否正确加载了数据,我们检查了刚刚创建的拆分的大小。我们将学习如何加载数据集、构建模型,最后训练使用数据集创建的模型。我们需要进行一些调整,以确保我们以最佳方式使用我们的资源。加载模型后,我们创建一个输入,将当前批次传递到增强中,最后,创建一个大小为 10 的全连接 (FC) 层(

新华编程特战队 2834

TensorFlow2 入门指南 | 01 浅谈 TensorFLow2 入门

还在学TensorFlow1.x,你out了!大佬们都在用Tensorflow2了!

不积跬步,无以至千里! 7497

吴恩达深度学习课程第二课第三周(Tensorflow tutorial)作业

吴恩达深度学习课程第二课第三周(Tensorflow tutorial)作业。里面包含一个ipyhon文件,可以使用jupyter notebook打开运行。包括运行算法所需要得全部资源。只要有terflow运行环境即可成功运行

TensorFlow在计算机视觉领域的落地实践

在智能制造场景中,TensorFlow凭借其完整的工程闭环和生产级稳定性,成为计算机视觉落地的首选框架。从数据处理、分布式训练到模型压缩与边缘部署,结合TFX和TensorFlow Serving,构建可长期运行的质检系统,真正实现从实验室到产线的跨越。

weixin_36300623的博客 659

Python-计算机视觉深度学习教程基于Tensorflow

在这些教程中,我们将学习构建近年来发展起来的几种卷积神经网络(CNN)

Tensorflow训练视觉模型(CPU)

tensorflow模型训练

weixin_73690807的博客 2762

深度学习:原理与实现(基于tensorflow实现图像分类)

1. 人工神经网络 1.1 神经网络结构 人工神经网络(简称神经网络)是模拟人类大脑神经元构造的一个数学计算模型。 一个神经网络的搭建,需要满足三个条件。 输入和输出 权重(w)和阈值(b) 多层感知器的结构 1.2 神经网络运作过程 其中,最困难的部分就是确定权重(w)和阈值(b)。必需有一种方法,可以找出答案。 这种方法就是试错法。其他参数都不变,w(或b)的微小变动,记作Δw(或Δb),然后观察输出有什么变化。不断重复这个过程,直至得到对应最精确输出的那组w和b,就是我们要的值。这个过程称为模型的训练。 因此,神经网络的运作过程如下。 确定输入和输出 找到一种或多种算法,可以从输入得到

Jetson Orin NX系统克隆术:如何快速备份与还原你的开发环境(附完整命令行)

本文详细介绍了Jetson Orin NX系统克隆的完整流程,这是一种超越简单备份的完整镜像方案。通过命令行操作,可实现开发环境(包括引导程序、内核、根文件系统及所有配置)的快速备份与还原,确保批量部署时环境的完全一致性与高效性,尤其适合机器人、边缘AI等项目的团队协作。

weixin_29191081的博客 158

TensorFlow和Keras入门必读教程

导读:本文对TensorFlow的框架和基本示例进行简要介绍。作者:本杰明·普朗什(Benjamin Planche)艾略特·安德烈斯(Eliot Andres)来源:大数据DT(ID:h...

大数据 3193

LAMMPS+Phonopy计算声子色散曲线

机器学习训练完势函数之后,需要对加以验证。对于晶体而言,色散曲线是其衡量计算是否准确的最重要标准,当然,还有能量,比热,RDF等性质。

qq_68842798的博客 3462

TensorFlow(keras)入门课程--03 卷积介绍

目录 1 简介 2 使用卷积 3 开始编码 4 创建卷积 5 查看结果 6 了解池化 7 编写池化代码 1 简介 在本节中,你将了解卷积以及它们在计算机视觉场景中如此强大的原因。 在上一节中,我们了解了如何使用Fashion MNIST数据集为时尚项目训练图像分类器。但这里有一个明显的约束:图像时28×28的,且图像在图片居中。 例如,这里有Fshion MNIST中的几张图。 上节我们创建...

Mind_programmonkey的博客 850

【论文精读】Latent Diffusion

Latent Diffusion

weixin_44934783的博客 4476

【微服务】Spring Aop原理深入解析

spring原理深度解析

congge 1万+

TensorFlow与Keras 介绍与入门

TensorFlow与Keras 介绍与入门实现卷积神经网络(框架)TensorFlow是什么?计算图 实现卷积神经网络(框架) TensorFlow更加受欢迎,连个版本1.x与2.x版本 Keras更加好用,方便 TensorFlow是什么? 1.采用计算图的形式表达数值计算的编程系统,能在大规模状态下进行运行,也可以在异构环境下进行 2. 使用数据流图表来表征计算,共享状态以及改变状态的操作, 3.应用范围:语音识别,计算机视觉,广告等(在大型数据中心服务器中有很大优势) 1.图像:图像分类,物体检测

沉晨尘宸的博客 1057

61、增益调度控制器:原理、建模与调优

本文详细介绍了增益调度控制器的原理、建模方法和调优流程。增益调度是一种针对非线性系统的控制策略,通过在不同工作点使用不同的线性控制器实现全局控制。文章涵盖了在Simulink中使用Control System Toolbox模块建模的具体步骤,以及如何利用systune进行增益调度表的调优。同时,还讨论了实际应用中的注意事项、典型案例(如化学反应器和飞机控制),并与其它控制方法进行了对比。最后,文章展望了增益调度控制器的未来发展趋势,包括与人工智能的结合、多目标优化调优以及实时调优能力的提升。

rgv234567的博客 186

深度学习:TensorFlow 2 和 Keras 地理空间计算机视觉快速入门

本文介绍了使用TensorFlow 2和Keras进行地理空间计算机视觉任务的快速入门指南。主要内容包括:1) 安装必要的Python库(rasterio、geopandas等);2) 导入数据处理和分析所需的各种模块;3) 通过TensorFlow Datasets加载Eurosat数据集,该数据集包含10种土地覆盖类型的标记Sentinel-2图像;4) 将数据集按70:20:10比例划分为训练集、验证集和测试集;5) 提供数据转换函数将数据集转换为Keras期望的格式。文章为初学者提供了完整的代码示例

此星光明博客 1837

2024年上半年试题二:论性能测试方法及其应用

2025年1月,我以系统分析师的身份参与了公司OA系统的开发与建设。该系统包含的功能有打卡签到、公文流转、工资查询等。我们吸取了之前由于系统使用人数激增暴露出的短时间卡顿等问题,所以在本次开发中,我们非常重视系统的性能测试。通过自动化的测试工具模拟多种正常、峰值及异常负载条件对系统的各项性能指标进行测试。性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样,常见的负载测试和压力测试都属于性能测试。

银帅 548

8-bit量化在YOLOv11中的部署实践-(使用PTQ、QAT量化技术实现模型体积压缩和推理加速)

本文系统介绍了YOLOv11模型量化技术,主要包括三个核心部分:首先阐述模型量化的基础理论,包括量化分类、数学原理和性能影响;其次分析YOLOv11架构特点及其量化敏感层;最后详细讲解训练后量化(PTQ)的具体实现流程。研究表明,8-bit量化可使YOLOv11模型大小缩减至1/4,推理速度提升1.7-2.3倍,精度损失控制在1%以内。文章特别强调了校准算法选择(如最小最大值法和KL散度法)对量化效果的关键影响,并提供了完整的代码实现示例,为YOLOv11的高效部署提供实用指导。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1628

tensorflow keras 版本_Tensorflow入门资源

笔者公众号:技术杂学铺笔者网站:http://mwhitelab.comTensorflow 2019开发者大会刚刚落幕,谷歌也即将推出tensorflow 2.0新版本。本文,我们将聚焦于Tensorflow入门教材。从环境安装、入门教程、流行项目等多个方面整理权威资料。助力各位萌新高效学习。1. 环境安装python环境以及jupyter安装请见博客:环境安装安装cpu版tensorflow在...

weixin_39622217的博客 109

uniapp APP端:蓝牙报错writeBLECharacteristicValue:fail property not support(uni.writeBLECharacteristicVal)

uni-app 蓝牙fail property not support、发现不了服务特征值的问题、突然发现微信蓝牙小秘密,使用uni-app编译成安卓APP后报错writeBLECharacteristicValue:fail property not support,发现不了服务特征值,uniApp APP调用蓝牙API发送指令过快导致,uniapp 蓝牙 writeBLECharacteristicValue property_not_support iOS Android BLE GATT 特征值写入

✅ 精选推荐文章 2943

tensorflow keras 版本_Tensorflow入门资源整理

笔者公众号:技术杂学铺笔者网站:mwhitelab.comTensorflow 2019开发者大会刚刚落幕,谷歌也即将推出tensorflow 2.0新版本。本文,我们将聚焦于Tensorflow入门教材。从环境安装、入门教程、流行项目等多个方面整理权威资料。助力各位萌新高效学习。1. 环境安装python环境以及jupyter安装请见博客:环境安装(http://www.mwhitelab.co...

weixin_39701768的博客 245

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

深度学习框架介绍-TensorFlow,PyTorch,Keras

本文介绍了主流深度学习框架的特点与适用场景。TensorFlow以其工业级稳定性著称,适合大规模部署;PyTorch凭借动态计算图优势,成为研究者的首选;Keras则以简洁易用的特性,成为初学者入门的最佳选择。文章还简要提及Caffe、MXNet等其他框架,并通过对比表格帮助读者根据项目需求选择合适的工具。作者建议初学者从Keras或PyTorch入手,通过实践项目逐步掌握深度学习技术。

oscar999的专栏 799

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: TensorFlow(keras)入门课程--01 机器学习的Hello World
下一篇: TensorFlow(keras)入门课程--03 卷积介绍
mind_programmonkey
mind_programmonkey 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄9年 4435粉丝 1111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值