tag 标签: TensorFlow

相关帖子
相关博文
  • 热度 3
    2019-11-19 13:47
    860 次阅读|
    2 个评论
    每一个智能工厂,对于质检,安全都有工厂必须遵守的条例,良品率越高,对工厂带来的是纯利润的上升。我们一起分享在 TensorFlow 中,如何去解决现代工厂中面临的这一系列问题。 TensorFlow 与生产环境的关系 TensorFlow 是现在应用最广泛的深度学习开发库,经过几年的发展,版本的不断迭代,现在开发的功能已经逐步完善。在实际的工程化运行环境中间,除了我们利用人工智能去研发解决问题之外,我们还需要对人工智能进行工程化,使我们研发的人工智能模型,能够高效的运行在生产环境中间。 现在已经有许多大的互联网公司提供了人工智能从数据处理到模型开发及部署的基础设施,这些基础设施可以保证使用者运用比较好的公有云系统来完成人工智能研发。 互联网以及传统企业所积累的大数据,由于私密性,从数据的来源到人工智能模型的产生与应用,都只能在密闭的环境下进行内循环,最终的目的是用人工智能模型来服务企业本身,导致公有云上的基础设施无法为企业所用。那么整个人工智能系统都必须要在私有的环境下完成研发,生产到运维的所有过程。 谷歌所搭建的 KubeFlow 平台,正是解决人工智能在私有化应用中的问题,在企业私有云环境中间搭建了这么一套完整的运行完成之后,可以保证整个人工智能周期的私密性。 未来的人工智能发展一定是伴随着支撑人工智能的公有云设施及私有云设施相互促进相互发展的一个过程。 TensorFlow 将如何帮助提升良品率? 在智能生产领域中间不管哪个行业,只要它生产实际的产品,都会涉及到产品的质量检验这个过程,好的质量检验流程能够提升良品率。所以以往的质量检验一般是用一些自动化的设备,然后辅助人工进行整个检查的过程,但是在这个过程中间,由于自动化设备固定的识别模式,然后人由于不能长期的高效的维持在最好的状态之下进行检验,最后导致有一些产品,会出现漏检的现象。例如在电子元器件芯片行业中间芯片的检测是需要拿到显微镜下由人工去看,由于人的不稳定因素造成最后的检测结果会出现一些问题。引入人工智能的方式去做质量检测,会起到非常好的效果。 利用 TensorFlow 去进行质量检测,会有几种可行的办法: 一种就是利用计算机视觉去检测产品的外观,外观包括产品的变形,缺陷等。非常大的一个物体,以及显微镜观测的细小颗粒部分,都可以利用 TensorFlow 实时高精度的去完成检测。 另外一种是利用一些传感器或者是自动化设备,对产品进行一些常规的测试。存在的问题是,如果有多种因素做一个综合判定的时候,只能用经验来做判断,而这种判断需要公司的非常有经验的员工来参与,有经验的员工的培养本身就是一个巨大的成本。那么 TensorFlow 去处理这些问题,他可以把工人的经验转换成为人工智能的模型,最终使整个的检测过程不需要人工去干预。 TensorFlow 与物联网技术之间的联系 TensorFlow 可以看成是数据处理的一种方式,物联网是数据回环的一套基础架构。那么在物联网体系中,利用 TensorFlow 等人工智能技术去处理问题,会显得实时,便捷,高效。 这几年我们在生活过程中间越来越多的运用到人工智能技术。比如我们过机场地铁安检的时候人脸识别,用支付宝进行人脸识别付款,这些都是人工智能的应用。我们深深惊叹这些技术的便捷性的时候,实际上对完成人工智能处理设备来说,它就是相当于整个物联网系统中的一个端点设备,完成了数据的采集,识别过程。 除了人脸之外,还有我们的声音,文字,以及在生产过程中间所获得的各种数据,整个的人工智能的角度来讲,都是属于数据获取。往往数据的获取就是依赖整个物联网系统的端点设备,有的端点设备只是进行数据采集,但是有的端点设备除了进行数据采集之外,还会返回结果。那么从端点进行数据采集,对数据进行处理,进行人工智能的识别,最后再把结果下发了整个过程,就是物联网在实际的应用过程中的一个非常好的体现。 随着物联网的设备越来越多,物联网又具有去中心化的特点。那么我们把整个人工智能模型部署到云端进行数据识别,会对云端产生相当大的压力。所以在物联网的端点,或者是路由侧,通常会加入 TensorFlow 的模型用于识别。这样的话,数据不不需要实时的传送到云端进行处理,具有离线,实时性的特点。 针对物联网设备越来越丰富,需要大量的边缘设备去处理数据的特点, Google 在物联网方向,从云端到端点设备提供了丰富的 AI 解决方案。TensorFlow 的应用中,专门对移动端,嵌入式设备做了扩展,即大家熟悉的 TensorFlow Lite,除了软件层面,Google 在物联网的硬件端也推出了 Edge TPU, 这个硬件方案可以对物联网网关,端点的 AI 识别,同时也在基于单片机的应用中推了 Sparkfun 解决方案。更不用说云端 AI 相关的丰富的服务了。随着大量的物联网设备为人们的生活提供便携性的服务,AI 在我们的生活中,也就无处不在了。
  • 热度 3
    2019-11-4 21:09
    824 次阅读|
    2 个评论
    【零基础】使用Tensorflow实现神经网络
    一、序言   前面已经逐步从单神经元慢慢“爬”到了神经网络并把常见的优化都逐个解析了,再往前走就是一些实际应用问题,所以在开始实际应用之前还得把“框架”翻出来,因为后面要做的工作需要我们将精力集中在业务而不是网络本身,所以使用框架可以减少非常多的工作量,有了前面自己实现神经网络的经验,现在理解框架的一些设置也比较容易了。本篇我们就使用比较常见的Tensorflow来重置一下前面的工作。   备注一下Tensorflow的安装:   1)安装python3.6,高版本不支持   2)pip install tensorflow即可 二、softmax   在开始前需要先说下这里使用的一个新的技术“softmax”,前面我们解决的问题是“从一堆图片里识别出数字是否是9”,这里使用softmax我们可以搞定更加高深一点的问题,比如:   “识别出图片中的数字是几”   这就厉害了,前面我们只能识别是不是,即”二分类“,这里借助softmax我们可以识别图片是数字几的概率,即”多分类“。   从技术上来说其实变化不大,神经网络整体结构不变,但是还记得我们之前神经网络中使用的”激活函数“不?一般最后一层使用sigmoid,意思是将输出转为0-1之间的区间值,表示为”是数字9“的概率是多少。这里使用softmax替代sigmoid,此外输出也不是一个数,而是10个数,比如:      它的含义如下:   0的概率:10%   1的概率:20%   3的概率:30%   4的概率:70%   ...   相应的输入的label自然也是十个数,比如:      它表示我们输入的图片是数字”4“,此种表示方式称为"one_hot_label"。此种输入与输出形式就是"多分类"的基础,此外我们使用的mnist数据集可以直接将label数据转为one hot形式,只需要"one_hot_label=True"。   除了输入输出形式不一样,softmax的传播函数和反向传播肯定与sigmoid不一样了,不过借助Tensorflow强大的功能这些我们都不需要操心啦。下面我们就逐步来实现一个基于Tensorflow的神经网络。 三、创建占位符placeholder   其实这里的输入x,y代表的分别是输入图片的向量大小784和label的向量大小10。tf是tensorflow的实体,这里tf.placeholder其实就是定义了两个空的数组:   (784, None)和(10, None)   placeholder得到的一维向量在后面的作用是"占位",占位的意思是在tensorflow构建神经网络时先把位置占好,真正运行时就按这个占位的样子往里面扔数据,比如X是784,输入的img也不管你啥形状了,反正就按784将输入截成一段一段的。 四、初始化参数w、b   整体上来说与前面初始化参数差不多,变化的除了使用tf来产生随机数,还将wGroup和bGroup合并为parameters(tf框架只给输入一个参数名)。 五、传播函数   这里tf.matmul()就是实现矩阵w与IN的乘积,再通过tf.add()实现加b。但这里的"传播函数"并没有真的做传播运算,它只是按神经网络的结构将各种运算”安排“好,运算到最后一层没有使用激活函数来计算结果,而是直接返回A。剩下的运算放到了”损失函数“中。 六、损失函数   这里的tf.transpose()只是一个转置操作,之所以不用A.T这种方式,其实可以想到,此处的A并不是一个矩阵,它是一长串计算的结果,只有当神经网络运行起来了A才会是一个矩阵。所以这里的A其实是一系列“运算”的合集,使用tf.transpose()就是叠加了一个转置运算。   tf.reduce_mean()在这里就是计算"损失"的,不过暂时也不是真的计算了,只是将这个运算"安排"好了,最终结果返回为costFun 七、完整实现   等等,还没有说"反向传播"呢?不要慌,这里慢慢来。   在model中,placeholder、initialize_parameters、forward、costCAL都是前面讲过的,只是"构建"神经网络计算的过程。   optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(costFun)   这一句就是构建反向传播,其中AdamOptimizer表明使用Adam优化算法,minimize指明使用的损失函数,其实总结起来就是我们的反向传播需要使用Adam优化算法来使costFun构建的损失函数趋向于最小。   _ , cost = sess.run( , feed_dict={X: train_img, Y: train_label})   这一句就是真的运行网络了,feed_dict就是按前面"占位符"的形状将train_img和train_label输入到网络中, 是指明网络的“向前传播+反向传播”和损失计算。   parameters = sess.run(parameters)   只是将优化后的参数按原样输出回来。 八、总结   本节只是简单将之前实现过的神经网络用Tensorflow再实现了一次,其次还引入了softmax将二分类扩展为多分类。Tensorflow是后面研究的基础,可能再开一章单独讲一讲。    本节完整实现代码请关注公众号“零基础爱学习”回复AI14获取。
  • 热度 1
    2017-3-22 22:56
    1918 次阅读|
    0 个评论
    第一次阅读本专题的朋友可移步,阅读之前的文章: 物联网到底是什么? 完美支持 Android Things 的开发板都在这里了 Android Things 开发环境搭建 Android 与 Android Things,父子还是兄弟? Android Things中的I2C 前面絮叨了这么多,好像还没有一个总体的概念,我们如何写一个完整的代码呢? 现在深度学习很火,那我们就在 Android Things 中,利用摄像头抓拍图片,让 TensorFlow 去识别图像,最后用扬声器告诉我们结果。 是不是很酷?说基本的功能就说了这么长一串,那垒代码得垒多久啊? 项目结构 我们就从 Android Studio 的环始境开始说起吧。 启动 Android Studio 之后,务必把 SDK Tools 的版本升级到 24 及以上。然后再把 SDK 升级到 Android 7.0 及以上。让 Android Studio 自己完成相关组件的更新,导入项目,项目的结构如下: 代码中的 TensorflowImageClassifier 是用于跟 TensorFlow 做交互的,还有摄头的 handler 级及图像处理相关的代码。我们再来看看外部的引用库。 包括了 Android Things 和 TensorFlow 的相关库,当然,Android 的 API 的版本是24。gradle 的依赖和 Manifest 中的 filer 是和之前搭建开发环境的讲解一致的。 引用的 TensorFlow 的库,是 aar 打包的 Tensorflow-Android-Inference-alpha-debug.aar,这就意味着我们不需要 NDK 环境就能够编译整个项目了。 主要是留意 dependencies 这一项,包括了 TensorFlow 的库和 Android Things 的库: 再申请了摄头相关的权限。补充一下,Android Things 是不支持动态权限的申请的。 硬件连接 接下来便是硬件如何连接了。 硬件清单如下: Android Things 兼容的开发板,比如 Raspberry Pi 3 Android Things 兼容的摄像头,比如 Raspberry Pi 3 摄头模块 元器件: 1 个按钮,见面包板 2 个电阻,这块儿必须要说明一下:由于硬件连接的示意图是接的 5V 的电压,一般来说 GPIO 和 LED 的承压能力是 3V,有些 GPIO 是兼容 5V 的,所以中间需要串联 100~200 欧的电阻。 1 个 LED 灯 1 个面包板 杜邦线若干 可选:扬声器或者耳机 可选:HDMI输出 连完了硬件,我们这时候就要理解操作流程了。 操作流程 按照前面讲解的内容,用 Andorid Studio,连接 ADB,配置好开发板的 Wi-Fi,然后把应用加载到开发板上。 操作流程如下: 重启设备,运行程序,直到 LED 灯开始闪烁; 把镜头对准猫啊,狗啊,或者一些家具; 按下开关,开始拍摄图片; 在 Raspberry Pi 3 中,一般在 1s 之内,可以完成图片抓拍,经 Tensorflow 处理,然后再通过 TTS 放出声音。在运行的过程中 LED 灯是熄灭的; Logcat 中会打印出最终的结果,如果是有显示设备连接的话,图片和结果都会显示出来; 如果有扬声器或者是耳机的话,会把结果语音播报出来。 由于代码的结构特别简单,注意一下几段关健的操作即可。想必图形、摄头的操作在Android 的编程中大家都会了,所以不做讲解了。 主要是看 LED 的初始化操作: 有必要说一下,ImageClassifierActivity 是应用唯一的 Activity 的入口。在 Manifest 中已经有定义,它初始化了 LED, Camera, TensorfFlow 等组件。其中,我们用到的 Button 是 BCM32 这个管脚,用到的 LED 是 BCM6 管脚,相关的初始化在这个 Activity 中已经完成。 这部分代码是捕捉按键按下的代码。当按下按键时,摄头开始捕捉数据。 把摄像头拍摄的数据转成 Bitmap 数据之后,我们会调用 TensorFlow 来处理图像。 这个函数调用了 TensorFlow 进行处理,最后把结果输出到 logcat 中。如果代码中调用了 tts 引擎,那么则把结果转成语音读出来。看来,最重要的就是 TensorFlowClassifier 类的 recognizeImage() 这个接口了。我们继续往下看。 这是最后的一步,调用 TensorFlow 进行图像识别: 把 Bitmap 图像转成 TensorFlow 能够识别的数据; 把数据拷到 TensorFlow 中; 识别出图像,给出结果。 调用 TensorFlow 的过程还是挺好玩的,也挺方便。那么,为啥 TensorFlow 一下子就能够识别出是什么图片呢?Tensorflow 的官网给出的解答: www.tensorflow.org/tutorials/image_recognition 有一点需要提示,TensorFlow 的图像识别分类可以用提交到网络服务器识别,也可以在本地用离线数据识别。可以先把 200M 左右的识别数据放在本地,然后进行本地识别。现在大概能分出 1000 个类别的图像,哪 1000 个类别呢?项目代码中已经包含了哦。 是不是运用 TensorFlow 来处理物联网的数据会特别简单,不光是 TensorFlow, Firebase 也可以用到 Android Things 中来。这功能,强大的没话说了! 今天提到的这个项目,来源于 Google 在 GitHub 上维护的项目,项目的地址是 github.com/androidthings/sample-tensorflow-imageclassifier 当然,GitHub 上还有很多 Android Things 的代码可以参考。 是不是迫不急待的自己写一个应用呢?实际上,这个项目稍加改动便能有新的玩法。例如加上一个红外感应器,一旦有生物在附近就马上拍图片,并且识别。 展开你的脑洞吧 :-) 后记 这一篇文章是这个专题的最后一篇了。写完整个专题,发现 Android Things 带给开发者太多太多的便利,如何烧写文件?如何运用 SDK?甚至如何用 Google 的其它服务做物联网相关的数据处理?都有太多太多的现成的方案供我们选择,感叹使用 Android Things 进行物联网应用开发实在太方便了! 您如果有任何涉及到 Android Things 方面的想法,都欢迎大家在下方留言,我们会把好的建议转交给 Android Things 的产品部门。也许在某一天,你的建议就是 Andorid Things 的一部分。
相关资源
  • 所需E币: 2
    时间: 2020-10-10 16:39
    大小: 143.93MB
    上传者: wenbo_liu_xa
    21个项目玩转深度学习:基于TensorFlow的实践详解
  • 所需E币: 0
    时间: 2020-9-18 19:09
    大小: 23.13MB
    上传者: LGWU1995
    TensorFlow实践与智能系统
  • 所需E币: 0
    时间: 2020-9-20 23:18
    大小: 96.75MB
    上传者: bwj312
    Tensorflow实战Google深度学习框架
  • 所需E币: 5
    时间: 2020-8-12 16:43
    大小: 20.38MB
    上传者: VinayKIngle
    《机器学习实战:基于Scikit-Learn和TensorFlow》高清中文PDF内容简介本书主要分为两个部分。第一部分为第1章到第8章,涵盖机器学习的基础理论知识和基本算法——从线性回归到随机森林等,帮助读者掌握Scikit-Learn的常用方法;第二部分为第9章到第16章,探讨深度学习和常用框架TensorFlow,一步一个脚印地带领读者使用TensorFlow搭建和训练深度神经网络,以及卷积神经网络。作者简介AurelienGeron是机器学习方面的顾问。他曾是Google软件工程师,在2013年到2016年主导了YouTube视频分类工程。2002年和2012年,他还是Wifirst公司(一家法国的无线ISP)的创始人和首席技术官,2001年是Ployconseil公司(现在管理电动汽车共享服务Autolib)的创始人和首席技术官。
  • 所需E币: 5
    时间: 2020-8-12 17:14
    大小: 7.07MB
    上传者: VinayKIngle
    TensorFlow官方文档中文版-v1.2极客学院出品
  • 所需E币: 4
    时间: 2020-5-20 15:01
    大小: 825.5KB
    上传者: 十次方
    在本文中,我们将探索TF2.0的10个功能,这些功能让TensorFlow的使用更加顺畅,减少了代码行并提高了效率,因为这些函数/类属于TensorFlowAPI。
  • 所需E币: 3
    时间: 2019-7-31 14:35
    大小: 10.53MB
    上传者: bambooslip
    本书共分5方面内容:基础知识、关键模块、算法模型、内核揭秘、生态发展。前两方面由浅入深地介绍了TensorFlow平台,算法模型方面依托TensorFlow讲解深度学习模型,内核揭秘方面主要分析C++内核中的通信原理、消息管理机制等,最后从生态发展的角度讲解以TensorFlow为中心的一套开源大数据分析解决方案。
广告