Red de conocimiento informático - Problemas con los teléfonos móviles - Python crea una flor tipo flor

Python crea una flor tipo flor

Cancelar

Inicio

Programación

Teléfono móvil

Software

Hardware

Android

Apple

Juegos Móvil

Tutorial

Avión

Servidor

Inicio> Script Column > python > sistema de reconocimiento de flores de python

Construya un sistema de reconocimiento de flores usando python

2021-06-19 15:31:19 Autor: investigador de python

Tomé un curso optativo sobre visión artificial este semestre. El curso estaba diseñado para construir una red neuronal para el reconocimiento de flores, así que encontré el código fuente abierto en línea y finalmente lo modifiqué y el resultado fue solo una tasa de precisión. (94%). Dado que todo fue Después de ejecutar el código de esta red neuronal, simplemente use esta red neuronal y conviértala en una interfaz visual

1.

1. Obtenga el conjunto de datos

Los pasos son los siguientes:

* (1) Cree una nueva carpeta "flower_data" en la carpeta data_set

* (2 ) Haga clic en el enlace para descargar el conjunto de datos de clasificación de flores download.tensorflow.org/example\_im…

* (3) Descomprima el conjunto de datos en la carpeta flower_data

* (4) Ejecutar el script "The split_data.py" divide automáticamente el conjunto de datos en un conjunto de entrenamiento y un conjunto de validación

split_data.py

import os

desde la copia de importación de Shutil, rmtree

importación aleatoria

def mk_file(file_path: str):

si os.path.exists(file_path) :

# si la carpeta existe, elimine la carpeta original y luego vuelva a crearla

rmtree(file_path)

os.makedirs(file_path)

def main():

# Garantizar la reproducibilidad aleatoria

random.seed(0)

# Dividir el 10% de los datos en los datos establecido en el conjunto de verificación

split_rate = 0.1

# Apunte a su carpeta flower_photos descomprimida

cwd = os.getcwd()

data_root = os.path.join(cwd, "flower_data")

origin_flower_path = os.path.join(data_root, "flower_photos")

afirmar os.path.exists(origin_flower_path) )

flower_class = [cla para cla en os.listdir(origin_flower_path)

if os.path.isdir(os.path.join(origin_flower_path, cla))]

# Crea y guarda la carpeta del conjunto de entrenamiento

train_root = os.path.join(data_root, "train")

mk_f

ile(train_root)

para cla en flower_class:

# Crea una carpeta correspondiente a cada categoría

mk_file(os.path.join(train_root, cla) )

# Crea una carpeta para guardar el conjunto de verificación

val_root = os.path.join(data_root, "val")

mk_file(val_root)

para cla en flower_class:

# Crea una carpeta correspondiente a cada categoría

mk_file(os.path.join(val_root, cla))

para cla en flower_class:

cla_path = os.path.join(origin_flower_path, cla)

imágenes = os.listdir(cla_path)

num = len(images)

# Índice del conjunto de verificación muestreado aleatoriamente

eval_index = random.sample(images, k=int(num*split_rate))

para índice, imagen en enumerar (imágenes):

si imagen en eval_index:

# Copia los archivos asignados al conjunto de verificación al directorio correspondiente

image_path = os.path.join(cla_path, imagen)

new_path = os.path.join(val_root, cla)

copiar(image_path, new_path)

else:

# Copia los archivos asignados al conjunto de entrenamiento al directorio correspondiente

image_path = os.path.join(cla_path, image)

new_path = os .path.join(train_root, cla)

copiar(image_path, new_path)

print("\r[{}] procesando [{}/{}]".formato ( cla, index+1, num), end="") # barra de procesamiento

print()

print("¡procesamiento finalizado!")

si __nombre__ == '__main__':

principal()