Code For Better 谷歌开发者之声----谷歌云基于TensorFlow高级机器学习_谷歌云tensorflow

一、End-to-End Machine Learning with TensorFlow on GCP(基于TensorFlow的机器学习)

1.什么是TensorFlow

TensorFlow是一个基于数据流编程符号数学系统,被广泛应用于各类机器学习算法的编程实现,其前身是谷歌的神经网络算法库DistBelief。Tensorflow拥有多层级结构,可部署于各类服务器、PC终端和网页并支持GPU和TPU高性能数值计算,被广泛应用于谷歌内部的产品开发和各领域的科学研究。

2.TensorFlow优点

  • 易用性:有对应Python的API
  • 可移植性:一套代码就可以适应单个或者多个CPU、GPU、移动设备等
  • 灵活性:可以部署在树莓派、安卓、windows、ios、linux等上
  • 可视化:有tensorboard提供开发的可视化界面,方便跟踪调参
  • 检查点:可以通过检查点记录保存实验数据
  • 自动微积分:自动求解梯度
  • 庞大的社区:一年内拥有10000+的开发者,3000+的项目
  • 大量基于TensorFlow的项目代码

3.搭建TensorFlow Serving集群

TensorFlow Serving也提供了Docker的方式来安装或使用,但是目前并没有提供官方镜像或者提供Dockerfile来进行自动构建。现在需要通过手工方式来构建TensorFlow Serving镜像。为了简化部署,我提供了两个预构建的TensorFlow Serving的示例镜像来进行测试。

registry.cn-hangzhou.aliyuncs.com/denverdino/tensorflow-serving : TensorFlow Serving的基础镜像
registry.cn-hangzhou.aliyuncs.com/denverdino/inception-serving : 基于上述基础镜像添加Inception模型实现的服务镜像

利用Docker命令启动名为 “inception-serving” 容器作为TF Serving服务器

docker run -d --name inception-serving registry.cn-hangzhou.aliyuncs.com/denverdino/inception-serving

利用Docker命令以交互式方式启动 “tensorflow-serving” 镜像作为客户端,并定义容器link,允许在容器内部通过“serving”别名来访问“inception-serving”容器

docker run -ti --name client --link inception-serving:serving registry.cn-hangzhou.aliyuncs.com/denverdino/tensorflow-serving

在客户端容器,执行下面的脚本,可以方便地利用“inception-serving”服务来进行图像识别

这里图片自己定义,网上就可以找到

# persian cat
curl http://f.hiphotos.baidu.com/baike/w%3D268%3Bg%3D0/sign=6268660aafec8a13141a50e6cf38f6b2/32fa828ba61ea8d3c85b36e1910a304e241f58dd.jpg -o 1.jpg

/serving/bazel-bin/tensorflow_serving/example/inception_client --server=serving:9000 --image=2.jpg

# garfield cat
curl http://a2.att.hudong.com/60/11/01300000010387125853110118750_s.jpg -o 1.jpg

/serving/bazel-bin/tensorflow_serving/example/inception_client --server=serving:9000 --image=2.jpg

二、Machine learning production environment(机器学习生产环境)

这里我们利用Anaconda作为生产环境

Anaconda提供了一个默认的base环境,也可以直接在base环境中开发应用程序。基于课程内容需要,我们创建tensorflow-cpu环境

conda create -n ENV_NAME python=x.x
-n表示环境名称参数,
ENV_NAME为待创建虚拟开发环境的名称,
x.x表示该环境中python的版本是多少

启动Windows命令行窗口,在窗口输入下面的命令

conda create -n tensorflow-cpu python=3.9

若出现‘conda’不是内部或外部命令,也不是可运行的程序等信息,需要配置Anaconda系统环境变量。命令执行完成,名称为tensorflow-cpu的虚拟开发环境就创建成功了。

查看当前Anaconda有哪些虚拟环境

conda env list

激活命令:命令激活环境后,才能进入该虚拟环境进行编程

conda activate ENV_NAME

退出环境命令

若需要退出当前虚拟开发环境,可以使用下面的命令:
conda deactivate

删除环境命令

该命令需谨慎使用,因为该命令会删除虚拟环境下的所有数据
conda remove -n ENV_NAME --all

安装Python依赖包

在tensorflow-cpu环境下使用pip工具软件安装numpy、matplotlib、pillow、pandas、scikit-learn。

启动Windows命令行窗口,在命令行窗口输入激活命令,激活tensorflow-cpu环境。

conda activate tensorflow-cpu

tensorflow-cpu环境激活后,使用pip工具分别安装上述Python依赖包。安装建议使用清华大学镜像站。如安装numpy命令如下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

pip安装matplotlib时,会自动安装pillow包。

安装tensorflow-cpu版本

tensorflow分为两个版本,一个是CPU版本,一个是GPU版本。GPU版本充分应用了图形处理器的计算引擎,缩短模型训练的时间,GPU版本需要独立显卡的支持
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==2.6.0

上面的命令将在本地安装tensorflow 2.6.0版本,默认安装是cpu模式。

安装完成,需要验证tensorflow 2.6.0是否安装成功。
启动Windows命令行窗口,使用conda激活命令激活tensorflow-cpu环境,进入Python环境。

C:\Users\1>conda activate tensorflow-cpu
(tensorflow-cpu) C:\Users\1>
(tensorflow-cpu) C:\Users\1>python
>>> import tensorflow as tf
>>> print(tf.__version__)
2.6.0

三、Image Understanding with TensorFlow on GCP(通过TensorFlow进行图像处理)

1.神经网络原理

这里的神经网络,也指人工神经网络(Artificial Neural Networks,简称ANNs),是一种模仿生物神经网络行为特征的算法数学模型,由神经元、节点与节点之间的连接(突触)所构成。

2.卷积层

卷积神经网络中每层卷积层(Convolutional layer)由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法最佳化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网路能从低级特征中迭代提取更复杂的特征。

图像分析研究的领域一般包括:

基于内容的图像检索(CBIR-Content Based Image Retrieval)

人脸识别(face recognition)

表情识别(emotion recognition)

光学字符识别(OCR-Optical Character Recognition)

手写体识别(handwriting recognition)

医学图像分析(biomedical image analysis)

视频对象提取(video object extraction)

3.池化层

既对数据进行降采样(down-sampling)操作,又可以用p范数(p-norm)作非线性映射的“卷积” p范数:||A||p=(m∑i=1n∑j=1|aij|p)1/p,p>=1p范数:||A||p=(∑i=1m∑j=1n|aij|p)1/p,p>=1
当 p→∞p→∞ 时即为最大池化

具体作用为:

  1. 特征不变性–使模型更关注包含一定的自由度,能容忍特征微小的位移

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

4147907962)]
[外链图片转存中…(img-pk0klV5v-1714147907962)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 15
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值