关键词:
Tensorflow2.0笔记
本博客为Tensorflow2.0学习笔记,感谢北京大学微电子学院曹建老师
6 优化器
优化算法可以分成一阶优化和二阶优化算法,其中一阶优化就是指的梯度算法及其变种,而二阶优 化一般是用二阶导数(Hessian 矩阵)来计算,如牛顿法,由于需要计算Hessian阵和其逆矩阵,计算量较大,因此没有流行开来。这里主要总结一阶优化的各种梯度下降方法。
深度学习优化算法经历了SGD -> SGDM -> NAG ->AdaGrad -> AdaDelta -> Adam -> Nadam 这样的发展历程。
6.1 SGD
TensorFlow API: tf.keras.optimizers.SGD
6.1.1 vanilla SGD
代码实现:
# sgd
w1.assign_sub(learning_rate * grads[0])
b1.assign_sub(learning_rate * grads[1])
6.1.2 SGD with Momentum
代码实现:
# sgd-momentun
beta = 0.9
m_w = beta * m_w + (1 - beta) * grads[0]
m_b = beta * m_b + (1 - beta) * grads[1]
w1.assign_sub(learning_rate * m_w)
b1.assign_sub(learning_rate * m_b)
6.1.3 with Nesteroy Acceleration
6.2 AdaGrad
TensorFlow API: tf.keras.optimizers.Adagrad
代码实现:
# adagrad
v_w += tf.square(grads[0])
v_b += tf.square(grads[1])
w1.assign_sub(learning_rate * grads[0] / tf.sqrt(v_w))
b1.assign_sub(learning_rate * grads[1] / tf.sqrt(v_b))
6.3 RMSProp
TensorFlow API: tf.keras.optimizers.RMSprop
代码实现:
# RMSProp beta = 0.9
v_w = beta * v_w + (1 - beta) * tf.square(grads[0])
v_b = beta * v_b + (1 - beta) * tf.square(grads[1])
w1.assign_sub(learning_rate * grads[0] / tf.sqrt(v_w))
b1.assign_sub(learning_rate * grads[1] / tf.sqrt(v_b))
google老师亲授tensorflow2.0入门到进阶笔记-(dataset)(代码片段)
版本:numpy1.16.6 tensorflow2.2.0 tensorflow.keras2.3.0-tf1.引入DataSet基础使用tf.data.Dataset.from_tensor_slices#构建datasetrepeat,batch,interleave,map,shuffle,list_files,...csvtf.data.Tex 查看详情
google老师亲授tensorflow2.0入门到进阶笔记-(dataset)(代码片段)
版本:numpy1.16.6 tensorflow2.2.0 tensorflow.keras2.3.0-tf1.引入DataSet基础使用tf.data.Dataset.from_tensor_slices#构建datasetrepeat,batch,interleave,map,shuffle,list_files,...csvtf.data.Tex 查看详情
tensorflow2.0笔记
Tensorflow2.0笔记本博客为Tensorflow2.0学习笔记,感谢北京大学微电子学院曹建老师目录Tensorflow2.0笔记5欠拟合与过拟合5欠拟合与过拟合欠拟合的解决方法: 1.增加输入特征项 2.增加网络参数 3.减少正则化参数过拟合的解决方... 查看详情
tensorflow2.0——代码实现一元逻辑回归(代码片段)
importtensorflowastfimportnumpyasnpx=np.array([1,2,3,4])y=np.array([0,0,1,1])w=tf.Variable(1.)b=tf.Variable(1.)sigmodX=1/(1+tf.exp(-(w*x+b)))#sigmod函数pre_result=tf.round(sigmod 查看详情
使用tensorflow2.0执行视觉显著性检测(visualsaliencydetection)(代码片段)
使用Tensorflow2.0执行视觉显著性检测(VisualSaliencyDetection)上一篇博客介绍了如何使用Python,OpenCV执行视觉显著性检测(VisualSaliencyDetection)。这篇博客将介绍如何使用Tensorflow2.0执行显著性检测,这是一个应用图像处... 查看详情
tensorflow2.0——跟着官方demo学习tensorflow2.0框架基本api和用法(代码片段)
前言同样的,对于新框架的学习直接看官网!!TensorFlowCore不论您是机器学习新手还是专家,都可使用完整的端到端示例了解如何使用TensorFlow。请试用GoogleColab中的教程-无需进行任何初始设置。https://tensorflow.google... 查看详情
tensorflow2.0新特性小练习(代码片段)
基于tf2.0对KaggelGooglestreetviewcharactersclassify项目练手,熟悉一下tf2.0的新特性下载下来kaggle的数据集如下: 所有训练数据在train文件夹中,labels在trainLabels.cvs文件中,label文件格式如下:分别每个label对应其图片的名称首先对数... 查看详情
win11-tensorflow2.0(gpu)最新版安装(代码片段)
Tensorflow2.0(GPU)最新版安装CPU版安装查看CUDA版本查看官网对应版本安装Tensorflow后序CPU版安装请参考:Tensorflow2.0最新版(2.4.1)安装教程查看CUDA版本请参考:如何查看Win11的CUDA版本查看官网对应版本https://tensorflow.goo... 查看详情
tensorflow2.0最新版(2.4.1)安装教程(代码片段)
Tensorflow2.4.1前言Tensorflow简介Anaconda简介Anaconda安装TensorFlowCPU&GPUTensorflow安装Pycharm&TensorflowTensorflow&HelloworldHelloworldSession()后序前言目前考虑进入梦寐以求的机器学习、人工智能等领域的学习,因此安装主流的机器学习... 查看详情
android|tensorflow2.0入门1(代码片段)
TensorFlow快速入坑TensorFlow是什么?TensorFlow的基础知识TensorFlow特点TensorFlow的结构生命周期、命名和监视放置变量和张量自动微分(automaticdifferentiation)和梯度带TensorFlow是什么?TensorFlow是Google开发的第二代机器学习... 查看详情
android|tensorflow2.0入门1(代码片段)
TensorFlow快速入坑TensorFlow是什么?TensorFlow的基础知识TensorFlow特点TensorFlow的结构TensorFlow是什么?TensorFlow是Google开发的第二代机器学习系统。其原理为:以张量(Tensor)在计算图(Graph)上流动(Flow 查看详情
《30天吃掉那只tensorflow2.0》开篇辞(tensorflow学习之路)(代码片段)
《30天吃掉那只TensorFlow2.0》开篇辞🔥🔥文章目录《30天吃掉那只TensorFlow2.0》开篇辞🔥🔥一,TensorFlow2🍎还是Pytorch🔥二,Keras🍏和tf.keras🍎三,本书📖面向 查看详情
anaconda+cuda+cudnn+tensorflow2.0环境搭建(代码片段)
Anaconda+CUDA+cuDNN+Tensorflow2.0环境搭建前言搭建环境初期遇到的问题参考硬件环境Anaconda3Win10安装使用镜像Ubuntu安装Tensorflow环境搭建Win10Step1:创建虚拟环境(关于Anaconda虚拟环境和其他常用命令我会后续写一篇文章... 查看详情
tensorflow2.0新特性(代码片段)
安装TensorFlow2.0Alpha本文仅仅介绍Windows的安装方式:pipinstalltensorflow==2.0.0-alpha0#cpu版本pipinstalltensorflow==2.0.0-alpha0#gpu版本针对GPU版的安装完毕后还需要设置环境变量:SETPATH=C:ProgramFilesNVIDIAGPUComputingToolkitCUDAv10.0in;%PATH%SETPATH=C:ProgramFi... 查看详情
《30天吃掉那只tensorflow2.0》5-1数据管道dataset(代码片段)
《30天吃掉那只TensorFlow2.0》5-1数据管道Dataset文章目录《30天吃掉那只TensorFlow2.0》5-1数据管道Dataset一,构建数据管道二,应用数据转换三,提升管道性能如果需要训练的数据大小不大,例如不到1G,那么可以直... 查看详情
《30天吃掉那只tensorflow2.0》3-1低阶api示范(代码片段)
3-1低阶API示范下面的范例使用TensorFlow的低阶API实现线性回归模型和DNN二分类模型。低阶API主要包括张量操作,计算图和自动微分。importtensorflowastf#打印时间分割线@tf.functiondefprintbar():today_ts=tf.timestamp()% 查看详情
tensorflow2.0——波士顿房价数据与房间数关系的预测(代码片段)
importtensorflowastfimportmatplotlib.pylabaspltimportnumpyasnp#调用数据boston_house=tf.keras.datasets.boston_housing(train_x,train_y),(test_x,test_y)=boston_house.load_data(test_split=0.1)room_num=train_x 查看详情
深度学习之基于tensorflow2.0实现vgg16网络(代码片段)
...有了提升,VGG16与VGG19是VGG系列的代表,本次基于Tensorflow2.0实现VGG16网络。1.VGG16网络简介VGG16网络模型在2014年ImageNet比赛上脱颖而出,取得了在分类任务上排名第二,在定位任务上排名第一的好成绩。VGG16网络相比... 查看详情