我将模型训练为:https : //www.google.com.au/amp/s/blog.roboflow.com/training-a-tensorflow-object-detection-model-with-a-custom-dataset/amp/ 并将其转换为 tflite。然后我尝试将AI模型放在一个android APP中。我遵循:https : //developers.google.com/ml-kit/vision/object-detection/custom-models/android? fbclid = IwAR07uNgzQ2c5PTp13TiPVeKGQsXaJnJR9jzyvtviXCRegFFJlM-_G799TlY 将位图转换为 InputImage 对象。并进行所有配置。我转换了图像,然后加载模型尝试打印结果:
// getting bitmap of the image
Bitmap photo = (Bitmap) data.getExtras().get("data");
//convert image
InputImage image = InputImage.fromBitmap(photo,0);
//load local model
LocalModel localModel =
new LocalModel.Builder()
.setAssetFilePath("mobilenet_v1_1.0_224_quant.tflite")
// or .setAbsoluteFilePath(absolute file path to tflite model)
.build();
// Multiple object detection in static images
CustomObjectDetectorOptions customObjectDetectorOptions =
new CustomObjectDetectorOptions.Builder(localModel)
.setDetectorMode(CustomObjectDetectorOptions.SINGLE_IMAGE_MODE)
.enableMultipleObjects()
.enableClassification()
.setClassificationConfidenceThreshold(0.5f)
.setMaxPerObjectLabelCount(3)
.build();
ObjectDetector objectDetector =
ObjectDetection.getClient(customObjectDetectorOptions);
objectDetector
.process(image)
.addOnFailureListener(e -> {System.out.println(e.getMessage());})
.addOnSuccessListener(results -> …Run Code Online (Sandbox Code Playgroud) 我使用 Tensorflow API 训练了一个对象检测模型,并遵循基于 Roboflow 的 Google Colaboratory 笔记本的示例。 https://colab.research.google.com/drive/1wTMIrJhYsQdq_u7ROOkf0Lu_fsX5Mu8a
到目前为止一切顺利,我已经成功地将训练好的模型提取为推理图,再次遵循相同的笔记本:
import re
import numpy as np
output_directory = './fine_tuned_model'
lst = os.listdir(model_dir)
lst = [l for l in lst if 'model.ckpt-' in l and '.meta' in l]
steps=np.array([int(re.findall('\d+', l)[0]) for l in lst])
last_model = lst[steps.argmax()].replace('.meta', '')
last_model_path = os.path.join(model_dir, last_model)
print(last_model_path)
!python /content/models/research/object_detection/export_inference_graph.py \
--input_type=image_tensor \
--pipeline_config_path={pipeline_fname} \
--output_directory={output_directory} \
--trained_checkpoint_prefix={last_model_path}
Run Code Online (Sandbox Code Playgroud)
这给了我一个frozen_inference_graph.pb文件,我可以用它来在 OpenCV DNN 中制作我的对象检测程序。另外,按照此示例/sf/answers/3993868651/,我准备了模型和管道配置的 .pbtxt 文件作为该cv2.dnn.readNetFromTensorflow函数的第二个参数。这是足以重现我遇到的错误的代码:
model = cv2.dnn.readNetFromTensorflow('models/trained/frozen_inference_graph.pb',
'models/trained/output.pbtxt')
Run Code Online (Sandbox Code Playgroud)
当我使用预训练的 …
我正在尝试使用 YOLOv5x 构建一个对象检测系统。我通过 Roboflow 网站创建了我的数据集,并将该数据集下载到我的笔记本后,我运行以下命令来开始训练:
!curl -L "https://app.roboflow.com/ds/[DATASET-LINK]" > roboflow.zip; unzip roboflow.zip; rm roboflow.zip
Run Code Online (Sandbox Code Playgroud)
但我对每张图像都收到此错误:
train: WARNING: Ignoring corrupted image and/or label /content/yolov5/train/images/output_0446_png.rf.caced7dfbd9c68fe51180ceb8c2f04e8.jpg: duplicate labels
train: WARNING: Ignoring corrupted image and/or label /content/yolov5/train/images/output_0450_png.rf.808e3c83dd6b516900257848467d9a5b.jpg: duplicate labels
train: WARNING: Ignoring corrupted image and/or label /content/yolov5/train/images/output_0456_png.rf.898ad055d9c4cf67db7657c4901db2b7.jpg: duplicate labels
train: WARNING: Ignoring corrupted image and/or label /content/yolov5/train/images/output_0459_png.rf.8bc9567fac8542598a79c2bf11d4d8d5.jpg: duplicate labels
train: WARNING: Ignoring corrupted image and/or label /content/yolov5/train/images/output_0461_png.rf.62c902b73e1b6a92e1417b90c8dd3c9c.jpg: duplicate labels
train: WARNING: Ignoring corrupted image and/or label /content/yolov5/train/images/output_0462_png.rf.bf025028cd9eb5fe98d3cd80452a8d86.jpg: duplicate labels
train: WARNING: Ignoring corrupted image …Run Code Online (Sandbox Code Playgroud) 我已经使用Roboflow 的教程创建了一个对象检测模型,并拥有所有保存的权重。我遇到的一个问题是将其部署在谷歌合作实验室中。我更改了一些代码,但它似乎不起作用。简而言之,模型已经训练完毕。
如何在另一个 Google 合作实验室中使用该模型?我已经通过直接下载和一些绘图功能将整个 darknet 文件夹下载到环境中,然后运行:
进而
!./darknet detect cfg/custom-yolov4-detector.cfg backup/custom-yolov4-detector_last.weights {img} #-dont-show
Run Code Online (Sandbox Code Playgroud)
只为得到:
/bin/bash: ./darknet: 权限被拒绝
有什么建议么?