校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > tensorflow+k-means聚類簡單實現貓狗圖像分類的方法

tensorflow+k-means聚類簡單實現貓狗圖像分類的方法

熱門標簽:遼寧400電話辦理多少錢 江蘇房產電銷機器人廠家 蘇州電銷機器人十大排行榜 溫州旅游地圖標注 幫人做地圖標注收費算詐騙嗎 電信營業廳400電話申請 悟空智電銷機器人6 荊州云電銷機器人供應商 外呼不封號系統

一、前言

本文使用的是 kaggle 貓狗大戰的數據集:https://www.kaggle.com/c/dogs-vs-cats/data

訓練集中有 25000 張圖像,測試集中有 12500 張圖像。作為簡單示例,我們用不了那么多圖像,隨便抽取一小部分貓狗圖像到一個文件夾里即可。

通過使用更大、更復雜的模型,可以獲得更高的準確率,預訓練模型是一個很好的選擇,我們可以直接使用預訓練模型來完成分類任務,因為預訓練模型通常已經在大型的數據集上進行過訓練,通常用于完成大型的圖像分類任務。

tf.keras.applications中有一些預定義好的經典卷積神經網絡結構(Application應用),如下所示:

我們可以直接調用這些經典的卷積神經網絡結構(甚至載入預訓練的參數),而無需手動來構建網絡結構。

例如,本文將要用到的模型是由谷歌開發的 MobileNetV2 網絡結構,該模型已經在 ImageNet 數據集上進行過預訓練,共含有 1.4M 張圖像,而且學習了常見的 1000 種物體的基本特征,因此,該模型具有強大的特征提取能力。

model = tf.keras.applications.MobileNetV2()

當執行以上代碼時,TensorFlow會自動從網絡上下載 MobileNetV2 網絡結構,運行代碼后需要等待一會會兒~~。MobileNetV2模型的速度很快,而且耗費資源也不是很多。

二、k-means聚類

k-means聚類算法以 k 為參數,把 n 個對象分成 k 個簇,使簇內具有較高的相似度,而簇間的相似度較低。其處理過程如下:

  • 隨機選擇 k 個點作為初始的聚類中心
  • 對于剩下的點,根據其與聚類中心的距離,將其歸入最近的簇。
  • 對每個簇,計算所有點的均值作為新的聚類中心。
  • 重復步驟2、3直到聚類中心不再發生改變

k-means的算法原理比較非常簡潔、易于理解,但是這里面有個問題需要解決:

如何確定 k 值?

  • 在 k-means 算法實現過程中,首先面臨的問題就是如何確定好 K 值。因為在實際應用中,我們也不知道這些數據到底會有多少個類別,或者分為多少個類別會比較好,所以在選擇 K 值的時候會比較困難,只能根據經驗預設一個數值。
  • 比較常用的一個方法:肘部法。就是去循環嘗試 K 值,計算在不同的 K 值情況下,所有數據的損失,即用每一個數據點到中心點的距離之和計算平均距離。可以想到,當 K=1 的時候,這個距離和肯定是最大的;當 K=m 的時候,每個點也是自己的中心點,這個時候全局的距離和是0,平均距離也是0,當然我們不可能設置成K=m。
  • 而在逐漸加大 K 的過程中,會有一個點,使這個平均距離發生急劇的變化,如果把這個距離與 K 的關系畫出來,就可以看到一個拐點,也就是我們說的手肘。

要確定 K 值確實是一項比較費時費力的事情,但是也是 K-Means 聚類算法中必須要做好的工作。

三、圖像分類

現在進入正題,實現我們的貓狗圖像分類。

導入需要的依賴庫

import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
import cv2 as cv
import os, shutil
from pathlib import Path

獲取 animals 文件夾下所有 jpg 貓狗圖像

# 獲得該文件夾下所有jpg圖片路徑
p = Path(r"C:\Users\Administrator\DeepLearning\animals")
files = list(p.glob("**/*.jpg"))

opencv讀取圖像,并將圖像大小 resize 為(224,224),以匹配模型輸入層的大小以進行特征提取。圖像數組轉換為 float32 類型并reshape,然后做歸一化。

# opencv讀取圖像 并resize為(224,224)
images = [cv.resize(cv.imread(str(file)), (224, 224)) for file in files]
paths = [file for file in files]
# 圖像數組轉換為float32類型并reshape  然后做歸一化
images = np.array(np.float32(images).reshape(len(images), -1) / 255)

加載預訓練模型 MobileNetV2 來實現圖像分類

# 加載預先訓練的模型MobileNetV2來實現圖像分類
model = tf.keras.applications.MobileNetV2(include_top=False,
weights="imagenet", input_shape=(224, 224, 3))
predictions = model.predict(images.reshape(-1, 224, 224, 3))
pred_images = predictions.reshape(images.shape[0], -1)

k-means聚類算法

k = 2   # 2個類別
# K-Means聚類
kmodel = KMeans(n_clusters=k, n_jobs=-1, random_state=888)
kmodel.fit(pred_images)
kpredictions = kmodel.predict(pred_images)
print(kpredictions)   # 預測的類別
# 0:dog    1:cat

將分類后的圖像保存到不同文件夾下

for i in ["cat", "dog"]:
    os.mkdir(r"C:\Users\Administrator\DeepLearning\picture_" + str(i))

# 復制文件,保留元數據 shutil.copy2('來源文件', '目標地址')
for i in range(len(paths)):
    if kpredictions[i] == 0:   
        shutil.copy2(paths[i], r"C:\Users\Administrator\DeepLearning\picture_dog")
    else:
        shutil.copy2(paths[i], r"C:\Users\Administrator\DeepLearning\picture_cat")

結果如下:

貓狗圖像分類

推薦閱讀:
https://keras-cn.readthedocs.io/en/latest/other/application/
https://www.freesion.com/article/6932673943/
https://mp.weixin.qq.com/s/64fgbm4QESz-irwY0uUYOA

到此這篇關于tensorflow+k-means聚類 簡單實現貓狗圖像分類的文章就介紹到這了,更多相關tensorflow實現貓狗圖像分類內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:景德鎮 欽州 臺灣 宿遷 三沙 濟南 喀什 黃山

巨人網絡通訊聲明:本文標題《tensorflow+k-means聚類簡單實現貓狗圖像分類的方法》,本文關鍵詞  tensorflow+k-means,聚類,簡單,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《tensorflow+k-means聚類簡單實現貓狗圖像分類的方法》相關的同類信息!
  • 本頁收集關于tensorflow+k-means聚類簡單實現貓狗圖像分類的方法的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    成人欧美一区二区三区黑人麻豆| 91一区二区三区在线播放| 亚洲精品高清在线| 18成人在线观看| **性色生活片久久毛片| 亚洲欧洲性图库| **性色生活片久久毛片| 亚洲三级理论片| 亚洲一二三四在线| 亚洲尤物在线视频观看| 亚洲成人自拍偷拍| 视频一区在线视频| 久99久精品视频免费观看| 久久99久久99精品免视看婷婷| 麻豆精品久久久| 国产a精品视频| 色综合网色综合| 欧美性大战久久久| 欧美大胆人体bbbb| 国产视频一区在线播放| 中文字幕在线观看一区| 亚洲狼人国产精品| 美女脱光内衣内裤视频久久网站 | 色成年激情久久综合| 欧美日韩中文另类| 亚洲精品在线三区| 亚洲精品成a人| 免费观看成人av| av激情综合网| 日韩午夜小视频| 中文字幕欧美三区| 午夜精品久久久久久久99樱桃| 久久成人综合网| 97成人超碰视| 欧美xxxxxxxx| 亚洲另类在线视频| 国产一区欧美二区| 一本久久a久久免费精品不卡| 3d动漫精品啪啪1区2区免费| 国产无一区二区| 午夜国产精品影院在线观看| 国产精品乡下勾搭老头1| 一本色道久久综合精品竹菊| 日韩小视频在线观看专区| 久久久久久久久蜜桃| 亚洲精品ww久久久久久p站| 黑人巨大精品欧美一区| 在线观看国产一区二区| 久久久久久久久久久电影| 亚洲一区二区五区| 91亚洲大成网污www| 久久综合精品国产一区二区三区 | 国产精品一级片| 91麻豆精品国产91久久久| 亚洲精品一二三| 成人性视频网站| 久久日韩精品一区二区五区| 午夜免费欧美电影| 欧美三级电影网| 亚洲综合丁香婷婷六月香| 成人精品国产一区二区4080| 欧美一级片在线| 日韩毛片高清在线播放| 蜜芽一区二区三区| 粉嫩av一区二区三区在线播放| 欧美日韩免费视频| 国产精品久久三区| 久久国内精品视频| 欧美日韩激情一区二区| 中文字幕一区二区视频| 国产一区福利在线| 欧美哺乳videos| 日本美女一区二区| 91精品在线麻豆| 26uuu欧美| 精品一二线国产| 日韩欧美视频一区| 久久99国产精品尤物| 制服.丝袜.亚洲.另类.中文| 一区二区三区日韩欧美| 国产传媒一区在线| 亚洲精品一区二区三区福利| 日韩电影在线免费| 欧美日韩成人一区| 性感美女久久精品| 91久久精品国产91性色tv| 亚洲永久免费av| 色噜噜狠狠一区二区三区果冻| 国产欧美日韩麻豆91| 国产乱理伦片在线观看夜一区| 日韩欧美中文字幕公布| 日本va欧美va欧美va精品| 欧美丰满高潮xxxx喷水动漫| 亚洲电影视频在线| 日韩视频永久免费| 国产精品自拍在线| 久久久精品影视| 美女爽到高潮91| 精品国产a毛片| 国产福利一区在线观看| 中文字幕巨乱亚洲| 91免费观看视频在线| 一区二区三区在线高清| 在线亚洲免费视频| 亚洲欧美激情视频在线观看一区二区三区| 日韩高清在线电影| 欧美日韩高清一区| 免费人成精品欧美精品| 精品三级在线看| 国产ts人妖一区二区| 综合激情网...| 欧美人成免费网站| 久久国产精品72免费观看| 久久看人人爽人人| 在线观看免费亚洲| 狠狠网亚洲精品| 国产精品免费看片| 在线综合+亚洲+欧美中文字幕| 久久精品国产一区二区三区免费看| 国产天堂亚洲国产碰碰| 91精品1区2区| 老司机精品视频在线| 久久久久国产精品麻豆| 91国产精品成人| 黄页视频在线91| 一区二区三区中文字幕| 久久综合999| 欧美日本国产一区| av在线不卡电影| 五月天网站亚洲| 欧美国产禁国产网站cc| 91福利视频久久久久| 日本免费在线视频不卡一不卡二| 亚洲免费av高清| 久久久电影一区二区三区| 91免费视频大全| 丰满少妇在线播放bd日韩电影| 亚洲综合色区另类av| 国产亚洲欧美色| 91精品国产综合久久精品| 色诱视频网站一区| 成人三级在线视频| 久久精品国产亚洲高清剧情介绍 | 欧美视频中文一区二区三区在线观看| 国产在线一区二区| 亚洲电影第三页| 亚洲日本欧美天堂| 欧美一区二区精美| 日韩精品一区二区三区在线| 欧美无砖专区一中文字| 成人18视频日本| 国产成人精品亚洲777人妖| 日韩av电影免费观看高清完整版 | 欧美国产欧美综合| 91麻豆精品国产91久久久使用方法| 在线亚洲人成电影网站色www| 国产露脸91国语对白| 精彩视频一区二区三区| 青青青爽久久午夜综合久久午夜 | 91黄色激情网站| 99久久免费国产| 成人午夜av电影| 国产精品88av| 国产九色sp调教91| 国产麻豆精品在线| 国产精品亚洲一区二区三区妖精| 久久狠狠亚洲综合| 国内精品自线一区二区三区视频| 日本不卡高清视频| 精品无码三级在线观看视频| 九九九久久久精品| 精久久久久久久久久久| 久久99热狠狠色一区二区| 美腿丝袜在线亚洲一区| 美女精品一区二区| 国产综合久久久久久久久久久久| 成人h动漫精品一区二区 | 国产视频一区不卡| 中文字幕乱码日本亚洲一区二区| 国产精品丝袜久久久久久app| 久久九九久久九九| 中文字幕av一区 二区| 国产精品久久久久久久久免费丝袜 | 国产精品久久久一区麻豆最新章节| 国产视频911| 国产精品超碰97尤物18| 偷拍一区二区三区| 精品一区二区三区的国产在线播放| 欧美美女激情18p| 国产自产高清不卡| 韩国av一区二区三区| 激情图区综合网| 国产成人免费视频网站| 色综合色综合色综合色综合色综合| 欧美在线高清视频| 久久综合精品国产一区二区三区| 欧美高清在线一区二区| 亚洲麻豆国产自偷在线| 亚洲成人av在线电影| 亚洲视频精选在线|