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ónInserte la descripción de la imagen aquí

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 -Vverificar si está instalada y la versión actual de conda.
Inserte la descripción de la imagen aquí

1. Nuevo entorno: conda create -n yolo python=3.6
Inserte la descripción de la imagen aquí
ingrese y y espere a que se complete la descarga
Inserte la descripción de la imagen aquí

2. Active el entorno: conda activate yolo
Inserte la descripción de la imagen aquí
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. Inserte la descripción de la imagen aquí
Vuelva a intentarlo en el pasado.Inserte la descripción de la imagen aquí

Espere QAQ (lleva un poco más de tiempo ... sea paciente)Inserte la descripción de la imagen aquí

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)

Inserte la descripción de la imagen aquí

5. Importar imágenes

Primero ponga la imagen en la carpeta train_img

Abra labelImg.exe
Inserte la descripción de la imagen aquí

Abrir Dir—> Seleccione la carpeta para almacenar la imagen (train_img)
Inserte la descripción de la imagen aquí
Cambiar Guardar Dir—> Seleccione la carpeta para almacenar la anotación (train_ann)
Inserte la descripción de la imagen aquí
Crear RectBox—> Seleccione el objeto que se marcará e ingrese la etiqueta, igual que las configuraciones anteriores (como el mapache )
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
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

Inserte la descripción de la imagen aquí
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
Inserte la descripción de la imagen aquí
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.
Inserte la descripción de la imagen aquí
Cámbiele el nombre (por ejemplo, test.tflite) y cópielo en el directorio raíz del proyecto.
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

7. Convertir a Kmodel
 ncc_0.1_win\ncc test.tflite test.kmodel -i tflite -o k210model --dataset train_img

Inserte la descripción de la imagen aquí
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

166 artículos originales publicados · 22 alabanzas · 10,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/weixin_45020839/article/details/105285941
Recomendado
Clasificación