在 Tensorflow Lite 官方网站上,他们展示了对 Android 和 iOS 的 GPU 加速的支持,但没有提及对 Raspberry Pi 的支持。
我正在尝试为 Android 构建一个离线翻译器。我的模型深受本指南的启发: https: //www.tensorflow.org/tutorials/text/nmt_with_attention。我只是做了一些修改以确保模型是可序列化的。(您可以在最后找到模型的代码)
该模型在我的 jupyter 笔记本上完美运行。我使用的 Tensorflow 版本:2.3.0-dev20200617,我还能够使用以下代码片段生成 tflite 文件:
converter = tf.lite.TFLiteConverter.from_keras_model(partial_model)
tflite_model = converter.convert()
with tf.io.gfile.GFile('goog_nmt_v2.tflite', 'wb') as f:
f.write(tflite_model)
Run Code Online (Sandbox Code Playgroud)
但是,当我使用生成的 tflite 模型来获取 Android 上的预测时,它会抛出错误java.lang.IllegalArgumentException: Internal error: Failed to run on the given Interpreter: tensorflow/lite/kernels/concatenation.cc:73 t->dims->data[d] != t0->dims->data[d] (8 != 1) Node number 84 (CONCATENATION) failed to prepare.
这很奇怪,因为我提供了与我在 jupyter 笔记本中完全相同的输入尺寸。以下是用于测试(虚拟输入)模型是否在 Android 上运行的 java 代码:
HashMap<Integer, Object> outputVal = new HashMap<>();
for(int i=0; i<2; i++) outputVal.put(i, new float[1][5]);
float[][] inp_test = new float[1][8];
float[][] …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 RPI Zero 上独立安装 Tensorflow Lite。但是,一旦按照步骤安装完成。
我无法导入,
import tflite_runtime.interpreter as tflite
Run Code Online (Sandbox Code Playgroud)
我收到的错误是:
ModuleNotFoundError:没有名为“tflite_runtime”的模块
此外,根据说明,我应该看到一个静态库。我也没有看到这一点。tensorflow/lite/tools/make/gen/lib/rpi_armv6/libtensorflow-lite.a
这是我的设置:
我有一个模型,可以通过对此处的一组数字执行预测函数来检测糖尿病
model1 = Sequential()
model1.add(Dense(500, input_dim=8, activation='sigmoid'))
model1.add(Dense(100, activation='sigmoid'))
model1.add(Dense(2, activation='softmax'))
model1.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])
model1.fit(x_train,y_train, epochs=1000, batch_size=70, validation_data=(x_test, y_test))
y_pred= model1.predict(x_test)
y_pred_prob = model1.predict_proba(x_test)
#s=round(b[0,0])
keras_file = "diabetes.h5"
keras.models.save_model(model1, keras_file)
converter = tf.lite.TFLiteConverter.from_keras_model_file(keras_file)
tflite_model = converter.convert()
open("diabetes.tflite", "wb").write(tflite_model)
#print(model.predict(np.array([[1,85,66,29,0,26.6,0.351,31]])))
Run Code Online (Sandbox Code Playgroud)
我已将模型转换为 tflite 文件并将其添加到 flutter 应用程序中,现在我想(model.pretict())在 main.c 中使用预测函数。dart in flutter 所以我添加了 tflite 文件并导入了 main.dart
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
TextEditingController Pregnancies = new TextEditingController();
TextEditingController Glucose = new TextEditingController();
TextEditingController BloodPressure = new TextEditingController(); …Run Code Online (Sandbox Code Playgroud) 我最近在查看 TensorFlow 2.0 检测动物园,发现了SSD MobileNet V2 FPNLite 320x320预训练模型,并且想知道“FPNLite”中的 FPN 部分意味着/代表什么。
我正在尝试在 esp32_cam 上使用 tensorflow-lite 对图像进行分类。我定义了需要解决的以下子任务:
现在我陷入了第 1 点和第 2 点之间,无法解决。到目前为止我所做的:我使用将图像保存到缓冲区中esp_camera_fb_get()。然后,我将缓冲区中的值放入二维数组中。然而,当我打印出其中一些值时,它们永远不会变成 0 或 255,即使我覆盖了整个镜头或在其附近放置了一个明亮的光源。
我有四个问题:
Serial.print()复制每个像素值并将其绘制在我的计算机上(例如使用 python matplotlib)#define CAMERA_MODEL_AI_THINKER
#include <esp_camera.h>
#include "camera_pins.h"
#define FRAME_SIZE FRAMESIZE_QQVGA
#define WIDTH 160
#define HEIGHT 120
uint16_t img_array [HEIGHT][WIDTH] = { 0 };
bool setup_camera(framesize_t);
void frame_to_array(camera_fb_t * frame);
void print_image_shape(camera_fb_t * frame);
bool capture_image();
void setup() {
Serial.begin(115200);
Serial.println(setup_camera(FRAME_SIZE) ? "OK" : "ERR INIT");
}
void loop() {
if (!capture_image()) …Run Code Online (Sandbox Code Playgroud) 我试图在后台(应用程序关闭时)非常频繁地运行tensorflow lite模型(每隔几分钟一次)。应用程序运行几个小时后,我收到此错误消息signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)。我知道还有其他人遇到过类似的问题,但在尝试了我能找到的所有解决方案后,我认为这可能是一个不同的问题。
pid: 0, tid: 0 >>> com.DD.GooglePlay <<<
backtrace:
#00 pc 00000000001cf138 /data/app/~~PXyjTXZK6uVX_JbQzF-CNA==/com.DD.GooglePlay-qOnVNcJEpWKOgoYLG3cmFQ==/base.apk!libtensorflowlite_jni.so (offset 0xe52000)
#00 pc 00000000001cef98 /data/app/~~PXyjTXZK6uVX_JbQzF-CNA==/com.DD.GooglePlay-qOnVNcJEpWKOgoYLG3cmFQ==/base.apk!libtensorflowlite_jni.so (offset 0xe52000)
#00 pc 00000000001c75ec /data/app/~~PXyjTXZK6uVX_JbQzF-CNA==/com.DD.GooglePlay-qOnVNcJEpWKOgoYLG3cmFQ==/base.apk!libtensorflowlite_jni.so (offset 0xe52000)
#00 pc 00000000000828b0 /data/app/~~PXyjTXZK6uVX_JbQzF-CNA==/com.DD.GooglePlay-qOnVNcJEpWKOgoYLG3cmFQ==/base.apk!libtensorflowlite_jni.so (offset 0xe52000)
#00 pc 00000000000822dc /data/app/~~PXyjTXZK6uVX_JbQzF-CNA==/com.DD.GooglePlay-qOnVNcJEpWKOgoYLG3cmFQ==/base.apk!libtensorflowlite_jni.so (offset 0xe52000)
#00 pc 00000000000b2ba4 /data/app/~~PXyjTXZK6uVX_JbQzF-CNA==/com.DD.GooglePlay-qOnVNcJEpWKOgoYLG3cmFQ==/base.apk!libtensorflowlite_jni.so (offset 0xe52000)
#00 pc 00000000000b8470 /data/app/~~PXyjTXZK6uVX_JbQzF-CNA==/com.DD.GooglePlay-qOnVNcJEpWKOgoYLG3cmFQ==/base.apk!libtensorflowlite_jni.so (offset 0xe52000)
#00 pc 00000000000b70a0 /data/app/~~PXyjTXZK6uVX_JbQzF-CNA==/com.DD.GooglePlay-qOnVNcJEpWKOgoYLG3cmFQ==/base.apk!libtensorflowlite_jni.so (offset 0xe52000)
#00 pc 00000000000b13a8 /data/app/~~PXyjTXZK6uVX_JbQzF-CNA==/com.DD.GooglePlay-qOnVNcJEpWKOgoYLG3cmFQ==/base.apk!libtensorflowlite_jni.so (offset 0xe52000)
#00 pc 00000000001dd640 /data/app/~~PXyjTXZK6uVX_JbQzF-CNA==/com.DD.GooglePlay-qOnVNcJEpWKOgoYLG3cmFQ==/base.apk!libtensorflowlite_jni.so (offset 0xe52000) …Run Code Online (Sandbox Code Playgroud) 我使用了 Github 上的这个项目: https: //github.com/nicknochnack/TFODCourse
该项目包含一个可以检测给定车辆图像上的车牌的模型。Github 存储库还包含将模型转换为 Tensorflow Lite 文件的代码。
我使用该代码生成 TFLite 文件。
然后,我点击了此链接:https ://developers.google.com/codelabs/tflite-object-detection-android
我下载了对象检测模型的示例应用程序并按照说明操作,将 TFLite 文件复制到 Android 应用程序中。
现在,如果我运行该应用程序并拍照,它会给我这个错误,
/TaskJniUtils: Error getting native address of native library: task_vision_jni
java.lang.RuntimeException: Error occurred when initializing ObjectDetector: Input tensor has type kTfLiteFloat32: it requires specifying NormalizationOptions metadata to preprocess input images.
at org.tensorflow.lite.task.vision.detector.ObjectDetector
Run Code Online (Sandbox Code Playgroud)
我知道我必须在 TFLite 模型中添加元数据。所以,我搜索了它并最终找到了这个链接: https: //www.tensorflow.org/lite/models/convert/metadata#model_with_metadata_format
但我根本不明白我到底应该做什么。任何人都可以帮助我指出正确的方向,特别是对于我的问题,我到底需要做什么?
我正在尝试在 deepnote/colab 上运行笔记本,但我不断遇到同样的问题,每次 tflite-model-maker 尝试安装它时都会完全填满磁盘并且无法安装。Deepnote 的磁盘存储空间有限,colab 的磁盘存储空间约为 100GB,但我在两台笔记本上都遇到同样的问题。任何帮助将不胜感激 !提前致谢。
我无法在 colab 中安装 tflite model maker 。我也使用 Nightly 运行所有命令。但现在不行了。我的项目陷入困境。pip install Tflite-model-maker没有安装它花了很长时间和colab磁盘..
我无法在 colab 中安装 tflite model maker 。我也使用 Nightly 运行所有命令。但现在不行了。我的项目卡住了 pip install Tflite-model-maker 没有安装它花了很长时间和 colab 磁盘..
tensorflow-lite ×10
tensorflow ×5
python ×2
android ×1
arduino ×1
background ×1
c++ ×1
data-science ×1
esp32 ×1
flutter ×1
gpu ×1
kotlin ×1
metadata ×1
mobilenet ×1
native ×1
nlp ×1
tflite ×1