2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Kuvan luokittelu on tietokonenäön perustehtävä, jonka avulla tietokoneet voivat automaattisesti tunnistaa kuvissa olevat kohteet. Tässä artikkelissa käytämme Python- ja TensorFlow-työkaluja toteuttamaan yksinkertaisen kuvien luokittelumallin, joka auttaa kaikkia ymmärtämään tekoälytekniikan perusteet.
Ensinnäkin meidän on asennettava joitain tarvittavia Python-kirjastoja. Avaa komentorivipääte ja suorita seuraava komento:
pip install tensorflow numpy matplotlib
Käytämme kuuluisaa MNIST-tietojoukkoa, joka sisältää kuvia käsin kirjoitetuista numeroista (0 - 9). TensorFlow'lla on jo tämä tietojoukko sisäänrakennettu, joten voimme ladata sen helposti.
- import tensorflow as tf
- from tensorflow.keras.datasets import mnist
-
- # 加载MNIST数据集
- (x_train, y_train), (x_test, y_test) = mnist.load_data()
-
- # 归一化图像数据
- x_train, x_test = x_train / 255.0, x_test / 255.0
Käytämme kuvien luokitukseen yksinkertaista neuroverkkomallia. Tämä malli sisältää syöttökerroksen (Flatten layer), kaksi täysin yhdistettyä kerrosta (Tiheä kerros) ja tulostuskerroksen.
- from tensorflow.keras.models import Sequential
- from tensorflow.keras.layers import Dense, Flatten
-
- # 构建顺序模型
- model = Sequential([
- Flatten(input_shape=(28, 28)), # 输入层:将28x28的图像展平成一维数组
- Dense(128, activation='relu'), # 隐藏层:128个神经元,使用ReLU激活函数
- Dense(10, activation='softmax') # 输出层:10个神经元,使用Softmax激活函数
- ])
-
- # 编译模型
- model.compile(optimizer='adam',
- loss='sparse_categorical_crossentropy',
- metrics=['accuracy'])
Nyt voimme kouluttaa mallia. Käytämme harjoitustietoja (x_train, y_train) mallin kouluttamiseen ja testitietoja (x_test, y_test) mallin suorituskyvyn arvioimiseen.
- # 训练模型
- model.fit(x_train, y_train, epochs=5)
-
- # 评估模型
- test_loss, test_acc = model.evaluate(x_test, y_test)
- print('测试准确率:', test_acc)
Harjoittelun jälkeen voimme käyttää mallia uusien kuvien ennustamiseen. Näin voit tehdä ennusteita yhdelle kuvalle testitiedoista.
- import numpy as np
- import matplotlib.pyplot as plt
-
- # 选择一张测试图像
- img = x_test[0]
- plt.imshow(img, cmap='gray')
- plt.show()
-
- # 预测图像类别
- img = np.expand_dims(img, 0) # 扩展维度以匹配模型输入
- predictions = model.predict(img)
- predicted_class = np.argmax(predictions)
- print('预测类别:', predicted_class)
Tässä artikkelissa aloitimme tyhjästä ja toteutimme yksinkertaisen kuvien luokittelumallin Pythonilla ja TensorFlow'lla. Tämän esimerkin avulla opimme lataamaan tietoja, rakentamaan mallia, kouluttamaan mallia ja tekemään ennusteita. Toivon, että tämä artikkeli auttaa sinua pääsemään alkuun tekoälytekniikan kanssa ja herättää kiinnostuksesi tämän alan lisätutkimukseen.
Tässä artikkelissa esitellään yksinkertaisen kuvien luokitusmallin toteuttaminen Pythonilla ja TensorFlow'lla, ja se sisältää yksityiskohtaisia koodiesimerkkejä, jotka auttavat sinua suorittamaan tämän tehtävän vaihe vaiheelta. Tällä hetkellä Python on myös erittäin suosittu Tietenkään kirjoittaja ei voi lopettaa etenemistä. Kielet ovat kaikki samoja, opettele vain ne!