Python crea una flor tipo flor
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()