如何在flutter应用程序中使用tflite模型的预测功能

ADe*_*Dev 5 deep-learning flutter tensorflow-lite

我有一个模型,可以通过对此处的一组数字执行预测函数来检测糖尿病

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();
  TextEditingController SkinThickness = new TextEditingController();
  TextEditingController Insulin = new TextEditingController();
  TextEditingController BMI = new TextEditingController();
  TextEditingController DiabetesPedigreeFunction = new TextEditingController();
  TextEditingController Age = new TextEditingController();


  int nPregnancies = 0;
  int nGlucose = 0;
  int nBloodPressure = 0;
  int nSkinThickness = 0;
  int nInsulin = 0;
  int nBMI = 0;
  int nDiabetesPedigreeFunction = 0;
  int nAge = 0;
  bool _isLoading = false;
  String result;

  var nArray = [];

  Future diabetesPrediction() async {
    await Tflite.loadModel(model: "assets/model_unquant.tflite",labels: "assets/labels.txt");
-------------------------------------------------------------------
    var output = await Tflite.runModelOnImage(nArray);
-------------------------------------------------------------------
    setState(() {
       result = output.toString();
    });
  }
Run Code Online (Sandbox Code Playgroud)

在这里,我想在模型中使用我的预测函数,(model.preict())而不是runModelOnImage(nArray);在 上进行预测nArray,因为它需要 8 个数字的数组对其进行预测并给出结果 0 或 1,我在图像分类器模型上看到的所有教程都是如此,所以有任何帮助做到这一点或任何其他解决方案在颤振中使用 ML 模型!