当前位置: 首页 > 知识库问答 >
问题:

准备张量分配时出现意外故障

柳培
2023-03-14

我正在使用tflite进行语义分割。我有一个经过训练的模型,可以从背景中分割对象,这个模型是在深度实验室上训练的。

我已经使用下面的代码将这个模型(冻结的推理图)转换为tflite格式:

tflite_convert \
  --output_file=test.lite \
  --graph_def_file=frozen_inference_graph.pb \
  --input_arrays=ImageTensor \
  --output_arrays=SemanticPredictions \
  --input_shapes=1,600,450,3 \
  --inference_input_type=QUANTIZED_UINT8 \
  --inference_type=FLOAT \
  --mean_values=128 \
  --std_dev_values=128 

模型在Android上加载,但是当我尝试运行推理时,它会给我这个错误:

原因:java.lang.IllegalStateException:内部错误:准备张量分配时出现意外失败:third_party/tensorflow/lite/kernels/unpack。cc:54数字尺寸(输入)

1不是真的。4号节点(解包)准备失败。

如何解决此错误?

共有1个答案

焦正德
2023-03-14

它适用于以下命令:

bazel-bin/tensorflow/lite/toco/toco \
  --input_file=deeplabv3_mnv2_pascal_tain.pb \
  --output_file=test.tflite \
  --inference_input_type=QUANTIZED_UINT8  \
  --inference_type=FLOAT \
  --input_arrays=ImageTensor  \
  --output_arrays=SemanticPredictions  \
  --input_shapes=1,513,513,3 \
  --mean_values=128 \
  --std_dev_values=128

当我从源头安装张量流时,它起作用了。为了从我使用的源安装张量流(链接)

 类似资料:
  • 我正在使用Firebase MLKIT在本地应用程序中实现“. tflite”模型。model.tflite文件大小约为132 MB。它显示了错误原因: onFailure:java.lang.IllegalStateException:内部错误:准备张量分配时意外失败:此解释器不支持常规的张量流操作。确保在推理之前调用Flex委托。节点号17(Flex)准备失败。 和错误消息: 本地模型加载失败

  • 分配张量时如何解决ResourceExhaustedError: OOM的问题? ResourceExhaustedError(回溯见上文):使用形状分配张量时OOM[10000,32,28,28] 我包含了几乎所有的代码 错误中引用的行是: 快跑。。在训练循环中 下面列出了我从调试器输出复制的更多错误(有更多行,但我认为这些是主要错误,其他错误是由此引起的…) tensorflow.python

  • 我制作了自己的AlexNet实现,其中少了一个完全连接的层,用于对102类花卉进行分类。我的培训集由11000个图像组成,而验证和培训集各有3000个图像。我以HDF5格式编写了这三个数据集,并将它们存储在磁盘上。我重新加载了它们,并尝试使用8和75个纪元的批次通过网络传递图像。但是,出现了内存错误 我已经尝试将批量大小减少到8,并将尺寸减少到400x400(原来是500x500),但没有用 te

  • 我遇到了一个问题: 获取健康检查以成功。尝试使用容器本机负载平衡(CNLB)时,在IIS容器中运行的Net app。 我有一个网络endpoint组(NEG),由GKE中的入口资源定义和VPC本机集群创建。 当我通过公开NodePort或制作LoadBalancer类型的服务来规避CNLB时,站点会毫无问题地解决。 所有的吊舱条件从一个描述看起来不错:吊舱准备就绪 运行时会显示网络endpoint

  • braintree-api-1.6.1-full.jar Android:minSDKversion=“14” Android:targetSDKversion=“18” 控制台中的完整错误消息: Dx故障写入输出:已准备好[2015-06-18 15:31:42-Dex加载器]无法执行Dex:多个Dex文件定义Landroid/Support/Annotation/Animres;[2015-0

  • 问题内容: 我正在使用哈希函数,该函数返回一个。 然后,我想将其存储在仅支持(带符号的64位)的PostgreSQL中。 因为我对数字本身不感兴趣,但对二进制值(因为我将其用作检测唯一性的ID(我的值集为〜1000个值,一个64位的哈希值对我来说足够了)),我想通过“只是”更改类型将其转换为。 如何以一种使编译器满意的方式做到这一点? 问题答案: 您可以简单地使用类型转换: 输出: 转换为始终成功