我正在尝试构建一个新的Tensorflow Inception v3网络,以便在iOS应用上运行。
这是通过使用Tensorflow iOS演示中的步骤在iPhone上的iOS应用程序中工作。
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios
它正在使用旧的Inception图像分类器(optimizedgraph.pb和labels.txt文件)
我正在尝试使用新图像重新生成网络。新网络在python,Android上运行良好,但在iOS上不起作用。
错误是:
2018-05-10 14:49:42.485845:E tensorflow / core / common_runtime / executor.cc:644]执行者未能 创建内核。参数无效:NodeDef提到了attr' dilations'不 在Op输出:T; attr = T:type,allowed = [DT_HALF,DT_FLOAT,DT_DOUBLE]; ATTR =步幅:列表(INT); ATTR = use_cudnn_on_gpu:布尔,默认= TRUE; attr = padding:string,allowed = [" SAME"," VALID"]; attr = data_format:string,default =" NHWC",allowed = [" NHWC"," NCHW"]&gt ;; NodeDef:conv / Conv2D = Conv2D [T = DT_FLOAT,data_format =" NHWC", dilations = [1,1,1,1],padding =" VALID",strides = [1,2,2,1], use_cudnn_on_gpu = TRUE, _device =" / job:localhost / replica:0 / task:0 / cpu:0"](_ recv_Mul_0,conv / conv2d_params)。 (检查您的GraphDef解释二进制文件 与GraphDef生成二进制文件是最新的。)。 [[节点: conv / Conv2D = Conv2D [T = DT_FLOAT,data_format =" NHWC",dilations = [1,1, 1,1],padding =" VALID",strides = [1,2,2,1],use_cudnn_on_gpu = true, _device =" / job:localhost / replica:0 / task:0 / cpu:0"](_ recv_Mul_0,conv / conv2d_params)]]
搜索我的唯一猜测是因为iOS Tensorflow支持基于旧版Tensorflow,而使用Tensorflow 1.8构建的图形文件将无效。
我尝试在我的构建计算机上降级到Tensorflow 1.7并重新生成图形文件,但1.7图形文件在iOS上给出了相同的错误。
任何想法Tensorflow iOS需要什么版本?或者如果iOS可以升级,或者这个错误是由什么引起的?
答案 0 :(得分:3)
这是通过降级到Tensorflow 1.1来构建graph.pb文件来解决的。似乎iOS演示/支持需要Tensorflow 1.1。