DORN模型的重现
DORN模型是在单图像深度估计问题上效果非常好的模型,18年刚发布的时候,就同时在KITTI数据集和ScanNet数据集上面取得了Robust Vision挑战的第一名。
DORN模型是在单图像深度估计问题上效果非常好的模型,18年刚发布的时候,就同时在KITTI数据集和ScanNet数据集上面取得了Robust Vision挑战的第一名。
今天给大家分享一个tensorflow的机器学习应用实例。我们将能看到如何针对特定的问题设计网络结构、设计损失函数,应用一些技巧来简化和拆分问题。还将演示如何将模型导出并部署到Android上,可以让我们感受到tensorflow强大的跨平台特性。
先让我们来看看我们要解决的问题。这个问题的应用场景来源于地图应用,如果能在地图上标注门牌号信息,这样就可以通过文本搜索找到地图中对应的位置了,事实上google地图就是通过训练这样的机器学习模型来进行地图信息标注的。要解决这个问题,可以读取google街景中的照片数据,然后训练一个机器学习模型来提取门牌号信息。如下图所示,当我们可以识别图片中的门牌号"42"了,我们就可以在地图上面进行标注了。
今天跟大家分享一下时下非常流行的一个机器学习框架:TensorFlow。希望大家可以一瞥TensorFlow的易用性和强大功能。
TensorFlow目前在我司的技术雷达上面处于assess阶段。
TensorFlow诞生于Google公司Google Brain项目。其前身是一个名为DistBelief的系统,DistBelief是Google内部使用非常广泛的一个机器学习系统。TensorFlow作为github上面的一个很火的开源项目,它的第一个提交是在2015年11月。到现在也不过刚好一年时间。
TensorFlow提供的API库可以用于编写富有表现力的程序。同时TensorFlow底层使用c++实现,其性能也是不错的。
TensorFlow在系统设计上使用一个有状态的数据流图来描述计算。使用TensorFlow时,需要先定义好计算图,以便TensorFlow可以在内部进行分布式的调度,然后一般会使用向计算图填充数据的形式进行迭代计算。
TensorFlow支持的系统非常广泛,从移动设备到桌面电脑再到大型分布式系统,从CPU到GPU,TensorFlow都提供了支持。
TensorFlow为了便于高效率的开发,同时也是顺应社区的技术潮流,提供的是Python的API。同时,也可以直接使用C++进行开发。目前还有Rust,Haskell的方言支持。
本文试图帮大家理解深度学习中的两大重要而基础的模型RNN和LSTM,并结合google在udacity上面关于深度学习的课程习题进行实践。
近两年深度学习在自然语言处理领域取得了非常好的效果。深度学习模型可以直接进行端到端的训练,而无须进行传统的特征工程过程。在自然语言处理方面,主要的深度学习模型是RNN,以及在RNN之上扩展出来的LSTM。RNN和LSTM也可以广泛用于其他序列处理和预测的机器学习任务。
RNN,全称为Recurrent Neural Network,常译为循环神经网络,也可译为时序递归神经网络,很多人直接简称为递归神经网络。另一个模型Recursive Neural Network,缩写也同样是RNN,译为递归神经网络。递归神经网络是时序递归神经网络的超集,它还可以包括在结构上有递归的神经网络,但是结构递归神经网络使用远没有时序递归神经网络使用得广泛。
本文包括四个部分: