在iOS

时间:2018-05-10 18:59:53

标签: ios iphone tensorflow

我正在尝试构建一个新的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可以升级,或者这个错误是由什么引起的?

1 个答案:

答案 0 :(得分:3)

这是通过降级到Tensorflow 1.1来构建graph.pb文件来解决的。似乎iOS演示/支持需要Tensorflow 1.1。