解码 Google I/O , 洞见科技未来-TensorFlow之遇见

全栈若城
全栈领域优质创作者
博客专家认证
2023-05-24 14:02:07

 一、TensorFlow的概要-- 遇见

 TensorFlow是啥

Tensorflow的命名来源于本身的运行原理:Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,数据流图中的图就是我们所说的有向图。在图这种数据结构中包含两种基本元素:节点和边。这两种元素在数据流图中有自己各自的作用:节点用来表示要进行的数学操作,任何一种操作都有输入\输出,因此它也可以表示数据的输入的起点\输出的终点;边表示节点与节点之间的输入\输出关系,一种特殊类型的数据沿着这些边传递。这种特殊类型的数据在TensorFlow被称之为tensor,即张量,所谓的张量通俗点说就是多维数组。当我们向这种图中输入张量后,节点所代表的操作就会被分配到计算设备完成计算。TensorFlow就是张量从流图的一端流动到另一端的计算过程。

为什么要用TensorFlow

TensorFlow是一种即用于实现机器学习算法的接口,也是一种执行机器学习算法的开源框架。它提供了Python、C++、Go、Java等多种前端开发语言以及C++、CUDA等后端实现,可方便地在众多异构系统上部署。TensorFlow不仅支持深度学习算法,还能够应用于诸如线性回归、逻辑回归、随机森林等其他类型的算法。TensorFlow已经被广泛应用于许多领域,如语音识别、自然语言处理、计算机视觉、机器人控制、信息提取、药物研发、分子活动预测等。通过使用TensorFlow框架,开发者们可以建立大规模的深度学习模型,以获得在这些领域最前沿的成果。

TensorFlow特性

TensorFlow具有很高的灵活性,它是一款非严格的“神经网络”库。只要计算能够表示为数据流图,就可以使用TensorFlow进行处理。

此外,TensorFlow具有很好的可移植性,其底层核心采用C++编写,可以在台式机、服务器、手机移动等设备上运行,提供对分布式的支持,可以快速构建深度学习集群。

TensorFlow还支持多种开发语言,包括Python、C/C++、Java和Go等,并且还有非官方支持的Scala语言。尽管支持多种语言,但目前对Python接口的支持最好。

TensorFlow对线程、队列、异步操作等提供了强大的支持,能够充分发挥CPU和GPU等硬件的潜力,从而使得深度学习模型的运行变得更加高效。

二、TensorFlow环境搭建(CPU) -- 相知

基于Windows 10系统

 

首先,需要安装Python(建议使用Python 3及以上版本)。可以前往官方网站

在安装Python时,建议勾选自动配置环境变量的选项以便更方便地使用Python。安装成功后,可以在命令行窗口输入python命令来确认Python已经成功安装。

接下来,我们需要安装TensorFlow及其相关组件。可以在命令提示符(管理员权限)中输入pip install tensorflow来安装TensorFlow。但需要注意的是,如果使用命令行安装TensorFlow,需要确保计算机的网络能够访问谷歌的相关网站,否则会出现连接失败的情况。

当出现“Successfully installed”消息时,说明TensorFlow已经成功安装。此时可以打开命令提示符(管理员权限),输入python命令,并输入以下代码进行测试:

import tensorflow as tf

aaa = tf.constant('你好, TensorFlow!')

sess = tf.Session()

print(sess.run(aaa))

a = tf.constant(101)

b = tf.constant(35)

print(sess.run(a+b))

执行完毕后,将会输出相应的结果。至此,TensorFlow的环境已经成功搭建完成。

、TensorFlow总结--相爱

总的来说,TensorFlow是一款比较容易上手的深度学习框架,与传闻中不堪的情况并不相符。尽管下载和环境配置的步骤有些繁琐,并且不同版本之间兼容性较差,但这些问题可以通过查找网上的资料解决。

TensorFlow的核心观念非常新颖,以计算为轴而不是以数据为轴,这体现了计算对于人工智能的重要程度。在神经网络的构建和算法实现方面,提供了新的观点和角度。当然,我并未尝试过PyTorch或其他构建工具,因此无法对这些工具进行比较评价。

 

...全文
122 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
全栈若城 2023-05-24
  • 打赏
  • 举报
回复

看都看了 ,给个五星再走呗

本季课程通过移植ORTP库并调用ORTP库函数来实现H.264裸流数据的网络传输,并且在Windows中安装VLC播放器,并在VLC中通过配置文件的方式来解析ORTP发送的裸流实现视频实时预览。本季课程的核心是ORTP协议的讲解,ORTP库的移植、部署和调用,VLC软件的用法讲解和配置文件讲解,Wireshark网络抓包工具的用法讲解,实时视频流传输和解析的体验和编程实现。随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在视频时代,“优酷、爱奇艺”、“微视频”、“直播”等的出现也是视频逐步成为主流媒体的证据和表现。航拍、视频监控、刷脸过关检测、汽车ADAS系统等应用也是视频在主流行业中的应用,因此视频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“海康威视”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬海内外,动辄市值几百亿。同时在芯片级,国产华为海思HI35XX系列视频编解码方案也逐步取代进口芯片(如TI、安霸)成为主流方案。视频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如海康威视,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为海思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时流和RTSP等方式,实现720P/960P高清视频传输。本项目共分11季,从海思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP流媒体传输、MP4文件打包,到图像IQ调试、图像识别等视频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和视频技术的视频课程。

1,400

社区成员

发帖
与我相关
我的任务
社区描述
加入“谷歌开发者”社区,一起“共码未来。
android 企业社区
社区管理员
  • 谷歌开发者
  • 开发者大赛发布
  • 活动通知
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧