Cara menggunakan Python untuk melatih model pada imej
Ikhtisar:
Dalam bidang penglihatan komputer, menggunakan model pembelajaran mendalam untuk mengklasifikasikan imej, pengesanan sasaran dan tugas lain telah menjadi kaedah biasa. Sebagai bahasa pengaturcaraan yang digunakan secara meluas, Python menyediakan banyak perpustakaan dan alatan, menjadikannya agak mudah untuk melatih model pada imej. Artikel ini akan memperkenalkan cara menggunakan Python dan perpustakaan berkaitannya untuk melatih model pada imej, dan menyediakan contoh kod yang sepadan.
Persediaan alam sekitar:
Sebelum anda mula, anda perlu memastikan anda telah memasang perpustakaan dan alatan berikut:
1: Penyediaan data
import pandas as pd # 导入图像和标签 image_paths = ['path/to/image1.jpg', 'path/to/image2.jpg', ...] labels = [0, 1, ...] # 创建DataFrame data = pd.DataFrame({'image_path': image_paths, 'label': labels})
import cv2 import numpy as np # 定义图像大小 image_size = (224, 224) # 预处理函数 def preprocess_image(image_path): # 读取图像 image = cv2.imread(image_path) # 调整大小 image = cv2.resize(image, image_size) # 数据标准化 image = image.astype(np.float32) / 255. # 返回处理后的图像 return image # 预处理图像数据 data['image'] = data['image_path'].apply(preprocess_image)
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense # 定义模型 model = Sequential() model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(224, 224, 3))) model.add(MaxPooling2D((2, 2))) model.add(Conv2D(64, (3, 3), activation='relu')) model.add(MaxPooling2D((2, 2))) model.add(Conv2D(128, (3, 3), activation='relu')) model.add(MaxPooling2D((2, 2))) model.add(Flatten()) model.add(Dense(64, activation='relu')) model.add(Dense(1, activation='sigmoid'))
# 编译模型 model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) # 训练模型 model.fit(data['image'].to_list(), data['label'].to_list(), epochs=10, batch_size=32)
# 模型评估 test_loss, test_acc = model.evaluate(test_data['image'].to_list(), test_data['label'].to_list()) print('Test Accuracy:', test_acc) # 模型预测 predictions = model.predict(test_data['image'].to_list())
Atas ialah kandungan terperinci Cara menggunakan Python untuk melatih model pada imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!