煤矿电子封条智能监管系统 TensorFlow

煤矿电子封条智能监管系统基于TensorFlowAI开源的机器学习的框架,煤矿电子封条智能监管系统可以对设备及人员行为和穿戴着装进行实时监测和管理。相比于其他的机器学习框架,Tensorflow 框架是最适用于工业部署的一个机器学习框架,换句话说,TensorFlow 非常适用于在生产环境中进行应用。整个项目开源;文档非常全面而且包含中文教程,学习成本比较低;其内部含有很多高阶神经网络API,我们可以用一个语句来生产一个网络;使用其内部的TensorFlow Service可以实现快速上线部署;得益于高阶API,使用TensorFlow进行神经网络开发非常迅速;内部内置TesnorBoard工具,可以很好的进行可视化工作;对移动设备的支持非常友好;TensorFlow内部内置分布式训练工具,开源很方便地进行分布式训练。

由于 TensorFlow1.x 与 TensorFlow2.x 的差别较大,因此在我们的学习与使用当中,我们应当首先学习TensorFlow2.x 版本。相比于T ensorFlow1.x,TensorFlow2.x 最大的优点就是加入了 Keras,而TensorFLow 也是默认采用 Eager 模式来构建我们的模型,这对于一些初学者来说是巨大的福音,而这在TensorFlow1.x时代是没有办法实现的。

在 TensorFlow 中,我们首先构建模型,TensorFLow会根据我们的模型来构建一个计算图,然后TensorFLow 会在该计算图中进行相应的运算、迭代与求梯度等操作,从而得到我们最终想要的结果。TensorFlow集群通过一系列的任务(tasks)来执行TF计算图中的运算。一般来说,不同的任务跑在不同的机器上。当然,使用GPU时,不同任务可以使用用一太机器上的不同GPU。TF中的任务可以聚合成工作。每个工作可以包含一个或多个任务。当一个TF集群有多个任务的时候,需要使用tf.train.ClusterSpec来指定运行每一个人物的机器。

Adapter接口定义了如下方法:

public abstract void registerDataSetObserver (DataSetObserver observer)

Adapter表示一个数据源,这个数据源是有可能发生变化的,比如增加了数据、删除了数据、修改了数据,当数据发生变化的时候,它要通知相应的AdapterView做出相应的改变。为了实现这个功能,Adapter使用了观察者模式,Adapter本身相当于被观察的对象,AdapterView相当于观察者,通过调用registerDataSetObserver方法,给Adapter注册观察者。

public abstract void unregisterDataSetObserver (DataSetObserver observer)

通过调用unregisterDataSetObserver方法,反注册观察者。

public abstract int getCount () 返回Adapter中数据的数量。

public abstract Object getItem (int position)

Adapter中的数据类似于数组,里面每一项就是对应一条数据,每条数据都有一个索引位置,即position,根据position可以获取Adapter中对应的数据项。

public abstract long getItemId (int position)

获取指定position数据项的id,通常情况下会将position作为id。在Adapter中,相对来说,position使用比id使用频率更高。

public abstract boolean hasStableIds ()

hasStableIds表示当数据源发生了变化的时候,原有数据项的id会不会发生变化,如果返回true表示Id不变,返回false表示可能会变化。Android所提供的Adapter的子类(包括直接子类和间接子类)的hasStableIds方法都返回false。

public abstract View getView (int position, View convertView, ViewGroup parent)

getView是Adapter中一个很重要的方法,该方法会根据数据项的索引为AdapterView创建对应的UI项。

猜你喜欢

转载自blog.csdn.net/KO_159/article/details/130821088