自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用自己的數(shù)據(jù)構(gòu)建一個(gè)簡單的卷積神經(jīng)網(wǎng)絡(luò)

人工智能 深度學(xué)習(xí) 后端
在本文中,我們將構(gòu)建一個(gè)卷積神經(jīng)網(wǎng)絡(luò),將對7種類型的數(shù)千個(gè)圖像進(jìn)行訓(xùn)練,即:鮮花,汽車,貓,馬,人,自行車,狗,然后能夠預(yù)測是否給定的圖像是貓,狗或人。

在本文中,我們將構(gòu)建一個(gè)卷積神經(jīng)網(wǎng)絡(luò),將對7種類型的數(shù)千個(gè)圖像進(jìn)行訓(xùn)練,即:鮮花,汽車,貓,馬,人,自行車,狗,然后能夠預(yù)測是否給定的圖像是貓,狗或人。

 

該CNN實(shí)現(xiàn)使用自己的圖像數(shù)據(jù)集涵蓋以下主題

  • 加載和預(yù)處理自己的數(shù)據(jù)集
  • 在Keras設(shè)計(jì)和訓(xùn)練CNN模型
  • 繪制損失和準(zhǔn)確度曲線
  • 評估模型和預(yù)測測試圖像的輸出類
  • 可視化CNN的中間層輸出
  • 繪制結(jié)果的混淆矩陣

加載和預(yù)處理自己的數(shù)據(jù)集:

我們將使用的數(shù)據(jù)集包括從互聯(lián)網(wǎng)收集并標(biāo)記的7個(gè)類。Python代碼如下;

 

  1. PATH = os.getcwd()   
  2. #Define data path  
  3. data_path = PATH + '/data'  
  4. data_dir_list = os.listdir(data_path)  
  5. data_dir_list 

 

輸出:

  1. ['bike''cars''cats''dogs''flowers''horses''human'

可視化一些圖像,我們可以看到圖像是128x128像素,Python代碼如下:

 

  1. #Visualize some images  
  2. image = X_train[1441,:].reshape((128,128))  
  3. plt.imshow(image)  
  4. plt.show() 

 

用自己的數(shù)據(jù)構(gòu)建一個(gè)簡單的卷積神經(jīng)網(wǎng)絡(luò) 

接下來,我們開始在Keras中設(shè)計(jì)和編譯CNN模型,Python實(shí)現(xiàn)如下:

 

  1. #Initializing the input shape  
  2. input_shape = img_data[0].shape   
  3. #Design CNN sequential model  
  4. model = Sequential ([  
  5.  Convolution2D(32,3,3, border_mode = 'same', activation = 'relu', input_shape = input_shape),  
  6.  Convolution2D(32,3,3, activation = 'relu'),  
  7.  MaxPooling2D(pool_size = (2,2)),  
  8.  Dropout(0.5),   
  9.  Convolution2D(64,3,3, activation = 'relu'),  
  10.  MaxPooling2D(pool_size = (2,2)),  
  11.  Dropout(0.5),   
  12.  Flatten(),  
  13.  Dense(64, activation = 'relu'),  
  14.  Dropout(0.5),  
  15.  Dense(num_classes, activation = 'softmax' 
  16. ])   
  17. #Compiling the model  
  18. model.compile(  
  19.  loss = 'categorical_crossentropy',   
  20.  optimizer = 'adadelta' 
  21.  metrics = ['accuracy']) 

 

在擬合模型之后,我們可以在整個(gè)迭代過程中可視化訓(xùn)練和驗(yàn)證。

 

  1. ist = model.fit (X_train, y_train,  
  2.  batch_size = 16,  
  3.  nb_epoch = num_epoch,  
  4.  verbose=1,  
  5.  validation_data = (X_test, y_test)  
  6.  ) 

 



我們現(xiàn)在可以使用我們的模型使用以下代碼預(yù)測新圖像的新類:

 

  1. # Predicting the test image  
  2. print((model.predict(test_image)))  
  3. print('Image class:', model.predict_classes(test_image)) 

 

正如我們在下面看到的,我們的模型正確地將圖像分類為class [0] - bike。


 

  1. [[3.6560327e-01 2.7960737e-06 1.2630007e-03 2.9311934e-01 1.6894026e-02  
  2. 3.0998811e-01 1.3129448e-02]]  
  3. Image class: [0] 

這是一個(gè)混淆矩陣,沒有歸一化

我們現(xiàn)在可以保存模型和權(quán)重,以便在實(shí)際應(yīng)用程序中實(shí)現(xiàn)。 

 

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2018-08-27 17:05:48

tensorflow神經(jīng)網(wǎng)絡(luò)圖像處理

2018-04-08 11:20:43

深度學(xué)習(xí)

2024-09-24 07:28:10

2024-11-11 00:00:02

卷積神經(jīng)網(wǎng)絡(luò)算法

2024-12-04 10:33:17

2025-02-19 18:00:00

神經(jīng)網(wǎng)絡(luò)模型AI

2025-02-25 14:13:31

2024-11-05 16:19:55

2017-05-04 18:30:34

大數(shù)據(jù)卷積神經(jīng)網(wǎng)絡(luò)

2022-04-07 09:01:52

神經(jīng)網(wǎng)絡(luò)人工智能

2020-05-11 13:44:38

神經(jīng)網(wǎng)絡(luò)人工智能深度學(xué)習(xí)

2022-06-16 10:29:33

神經(jīng)網(wǎng)絡(luò)圖像分類算法

2024-08-22 08:21:10

算法神經(jīng)網(wǎng)絡(luò)參數(shù)

2020-08-14 10:01:25

編程神經(jīng)網(wǎng)絡(luò)C語言

2022-10-11 23:35:28

神經(jīng)網(wǎng)絡(luò)VGGNetAlexNet

2018-03-22 13:34:59

TensorFlow神經(jīng)網(wǎng)絡(luò)

2019-01-05 08:40:17

VGG神經(jīng)網(wǎng)絡(luò)

2021-01-18 14:38:53

神經(jīng)網(wǎng)絡(luò)人工智能神經(jīng)元

2020-11-09 06:38:00

ninja構(gòu)建方式構(gòu)建系統(tǒng)

2017-12-28 14:44:42

Python人工智能神經(jīng)網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號