首页 文章

在iOS上运行Tensorflow时出错

提问于
浏览
5

我正在尝试构建一个新的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] Executor无法创建内核 . 参数无效: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”]>; 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 回答

  • 3

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

相关问题