Pescado salado K210 experiencia notas-entrenamiento modelo
Este tutorial se puede completar en Win: hacer un conjunto de datos, entrenar yolo y convertirlo en un archivo Kmodel para k210
Entrenamiento modelo
1. Instale Anaconda3
Dirección de Anaconda3 e instrucciones de instalación
Recuerde marcar [Agregar Anaconda3 a la variable de entorno PATH] durante la instalación
2. Herramienta de descarga
Para descargar este proyecto, extraiga [train_ann.zip] y [train_img.zip] a la carpeta actual en el directorio raíz del proyecto.
Descargue
[ncc_0.1_win.zip] al directorio raíz del proyecto y extráigalo a la carpeta actual
3. Preparar el medio ambiente.
Primero instale Anaconda en su sistema. Puede abrir la entrada de línea de comando para conda -V
verificar si está instalada y la versión actual de conda.
1. Nuevo entorno: conda create -n yolo python=3.6
ingrese y y espere a que se complete la descarga
2. Active el entorno: conda activate yolo
3. Instale los paquetes de software necesarios:pip install -r requirements.txt
El motivo del error: el archivo no está en el directorio raíz, por lo que no se puede abrir.
Vuelva a intentarlo en el pasado.
Espere QAQ (lleva un poco más de tiempo ... sea paciente)
4. Modificar los parámetros
En [configs.json], modifique el tipo de red, la etiqueta lable (como mapache) y otros parámetros. Observe el nombre de la carpeta examlpe para almacenar imágenes (train_img) y comentarios (train_ann)
5. Importar imágenes
Primero ponga la imagen en la carpeta train_img
Abra labelImg.exe
Abrir Dir—> Seleccione la carpeta para almacenar la imagen (train_img)
Cambiar Guardar Dir—> Seleccione la carpeta para almacenar la anotación (train_ann)
Crear RectBox—> Seleccione el objeto que se marcará e ingrese la etiqueta, igual que las configuraciones anteriores (como el mapache )
Después de
guardar , haga clic en Siguiente (Imagen siguiente) para generar automáticamente un archivo xml de la ubicación de destino marcada y guardarlo en la carpeta de comentarios
6. Comienza a entrenar
Ingrese el comando
python train.py -c configs.json
Si se pierde el cv2, es que el archivo require.txt no está terminado, y se puede resolver volviendo a intentarlo nuevamente: pip install -r required.txt
PD: Hay demasiadas fotos de entrenamiento, lo que lleva a un gran tiempo de entrenamiento. . Cuando lo hago yo mismo, las imágenes son menos. (Esperé mis flores) La
descarga está completa
Una vez completada la capacitación, aparecerá una carpeta con el nombre del tiempo. El archivo tflite que se encuentra dentro es el modelo capacitado.
Cámbiele el nombre (por ejemplo, test.tflite) y cópielo en el directorio raíz del proyecto.
7. Convertir a Kmodel
ncc_0.1_win\ncc test.tflite test.kmodel -i tflite -o k210model --dataset train_img
Después de la conversión, test.kmodel aparecerá en el directorio raíz, puede grabarlo en k210 para ejecutar
Procedimiento de prueba
import sensor,image,lcd,time
import KPU as kpu
lcd.init(freq=15000000)
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.set_windowing((224, 224))
sensor.set_brightness(2)
sensor.run(1)
clock = time.clock()
classes = ['class_1']
task = kpu.load(0x300000)
anchor = (1, 1.2, 2, 3, 4, 3, 6, 4, 5, 6.5)
a = kpu.init_yolo2(task, 0.17, 0.3, 5, anchor)
while(True):
clock.tick()
img = sensor.snapshot()
code = kpu.run_yolo2(task, img)
print(clock.fps())
if code:
for i in code:
a=img.draw_rectangle(i.rect())
a = lcd.display(img)
print(i.classid(),i.value())
for i in code:
lcd.draw_string(i.x(), i.y(), classes[i.classid()], lcd.RED, lcd.WHITE)
lcd.draw_string(i.x(), i.y()+12, '%f1.3'%i.value(), lcd.RED, lcd.WHITE)
else:
a = lcd.display(img)
a = kpu.deinit(task)
Dirección de referencia: https://github.com/TonyZ1Min/yolo-for-k210