中脚的深度学习摸爬之旅(label_image)

先上视频以示可行

https://www.zhihu.com/video/1068172404248858624

程序下载地址
zstfshitu-ubuntu1804-64.tar.xz
pan.baidu.com/s/1yTGEOG
包有点大,150m,主要是 tf 动态库和 pb 文件占地

解开后,双击 start 或终端 ./start 运行,如果出现

那说明 cuda 10.0 没有安装,需要去 nvidia 网站按指引安装
我本来想实现成 gpu/cpu 能够自动判断并相应装载的方式,但我编译不出 cpu 版的 cc 库
在编译时总是报类似

external/double_conversion/BUILD.bazel:12:1: C++ compilation of rule '@double_conversion//:double-conversion' failed (Exit 1)
In file included from external/double_conversion/double-conversion/diy-fp.h:31,
                 from external/double_conversion/double-conversion/diy-fp.cc:29:
external/double_conversion/double-conversion/utils.h:31:10: fatal error: cstdlib: No such file or directory

的目前无法处理的错误,若识得方法请告知,先谢谢

界面是另一码事,核心部分(怎么与 tf 交互)是这样

赋予错、话以调用‘话自文件’、‘-pb’。
断错。

对话(tensorflow::Session)基于指定的 pb 文件来建立
“断错”在返回有错将显示错误和终止程序

赋予错、图片张以调用‘张自文件’、‘-img’。
断错。

将指定的图片装载转换为一个张量(Tensor)

赋予 image_reader、域以调用‘image_reader__’、‘-img’。

image_reader 其实我不知道怎么起名(汉字名)比较合适,只能从我理解的使用目的来说,它是一个图片处理系列过程的起点
域(tensorflow::Scope)相当于给出了一张绘图板上的一块区域,以便后继去勾勒

赋予动作以normalized。
基于先
	如果‘-s’那么显示‘参数’换行。
	赋予⤵【上】以调用‘‘参数1’’、‘参数栈2’、‘域’。
了先
	浮化、‘image_reader’。
	升维、‘⤵’。
	双线性尺寸、‘⤵’、299、299。
	域-、、‘⤵’、0。
	域/、‘动作’、‘⤵’、255。
了。

这就是一系列的处理,浮点数化、增加维度、双线性图像尺寸调整、全部减0、全部除以255
这段原写作不太直观的

调用‘域/’、‘动作’、先
	调用‘域-’、、先
		调用‘双线性尺寸’、先
			调用‘升维’、先
				调用‘浮化’、‘image_reader’、‘域’
			了、‘域’
		了、299、299、‘域’
	了、0、‘域’
了、255、‘域’。

也贴上,应该有助于说明这段代码的逻辑是怎么的吧

赋予错、1以调用‘对单话’、先
	调用‘进参’、input、‘图片张’
了、先
	调用‘标参’、‘动作’
了、‘域’。
断错。

进行一次对话(session->Run),前述一系列数据操作的实做
“对单话”是运行了一次单独的对话,进行一次单独的处理的情况

赋予错、2以调用‘对话’、‘话’、先
	调用‘进参’、input、‘1’
了、先
	调用‘标参’、InceptionV3/Predictions/Reshape_1
了。
断错。

调用 InceptionV3/Predictions/Reshape_1 进行真正的最终的对话

赋予错、标签、标签量以调用‘得标签’、‘-lbl’。
断错。

获取 imagenet_slim_labels.txt 的内容,用于后面的对应显示
目前在对话里的都是数,没有字符串

赋予前几以5。
赋予错、出以调用‘top_k__’、‘2’、‘前几’、‘域’。

调用 TopK 获取前5

调用‘遍历’、‘出’、fi、‘前几’、下代码
	别名索引、分数以参数2、参数1。
	显示“‘分数’ ”先调用‘得行’、‘标签’、‘索引’了换行。
上代码。

发布于 2019-01-14