<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【深度學(xué)習(xí)】手把手教你實(shí)現(xiàn)一個(gè)人工智能案例(蓄電池爬堿識(shí)別)

          共 4756字,需瀏覽 10分鐘

           ·

          2021-11-09 20:29

          本文的目標(biāo):手把手教一個(gè)零基礎(chǔ)員工入門省公司AI平臺(tái)項(xiàng)目開發(fā)


          本項(xiàng)目目標(biāo):實(shí)現(xiàn)了通信運(yùn)檢一班通信蓄電池爬堿的人工智能識(shí)別


          前期準(zhǔn)備:需要自學(xué)python的基本語法,只要看得懂python語句之后,就可以看別人的人工智能項(xiàng)目進(jìn)行學(xué)習(xí)了。比如看本次項(xiàng)目。

          推薦python學(xué)習(xí)網(wǎng)站:

          https://www.runoob.com/python/python-tutorial.html。

          推薦項(xiàng)目學(xué)習(xí)網(wǎng)站:

          https://aistudio.baidu.com/aistudio/


          結(jié)果展示:



          上圖模型訓(xùn)練結(jié)果顯示,在訓(xùn)練集上識(shí)別的準(zhǔn)確率為100%,在測(cè)試集上識(shí)別準(zhǔn)確率為90%。


          下面從0開始教學(xué)(默認(rèn)python語法已自學(xué)完畢):

          一、概念理解


          首先解釋一下什么是機(jī)器學(xué)習(xí)和深度學(xué)習(xí)。


          機(jī)器學(xué)習(xí)的定義是:“計(jì)算機(jī)程序可以在給定某種類別的任務(wù) T 和性能度量 P 下學(xué)習(xí)經(jīng)驗(yàn) E ,如果其在任務(wù) T 中的性能恰好可以用 P 度量,則隨著經(jīng)驗(yàn) E 而提高?!?/p>


          簡(jiǎn)單可以這樣理解:讓機(jī)器看作文的特征和老師給定的分?jǐn)?shù),機(jī)器在看了足夠多不同特征的作文及其得分之后,就可以自己給老師還沒有批改的作文打分了(或者分類,好還是壞)。


          深度學(xué)習(xí)的定義是:“深度學(xué)習(xí)是一種特殊的機(jī)器學(xué)習(xí),通過學(xué)習(xí)將世界使用嵌套的概念層次來表示并實(shí)現(xiàn)巨大的功能和靈活性,其中每個(gè)概念都定義為與簡(jiǎn)單概念相關(guān)聯(lián),而更為抽象的表示則以較不抽象的方式來計(jì)算?!?/p>


          簡(jiǎn)單可以這樣理解:深度學(xué)習(xí)比機(jī)器學(xué)習(xí)更厲害了,機(jī)器不僅可以給作文打分,因?yàn)樗吹淖魑膲蚨嗔?,并且知道什么是好作文,什么是差作文,最后他自己都可以寫出好作文來了?/p>


          我們今天要完成的任務(wù)就是基于深度學(xué)習(xí)的圖像識(shí)別任務(wù),讓他看足夠多的照片(訓(xùn)練集),提前告訴他,哪些蓄電池是好的,哪些蓄電池是壞的。訓(xùn)練出模型之后,他就可以自動(dòng)識(shí)別出剛拍的還沒有打標(biāo)記的照片(測(cè)試集),哪些是好的蓄電池,哪些是壞的蓄電池。如果你訓(xùn)練的時(shí)候告訴了他蓄電池壞的種類,他甚至可以告訴你蓄電池壞的種類具體是哪一類。


          真實(shí)場(chǎng)景中蓄電池最常見的肉眼可見的缺陷就是爬堿。含有氫氧化鉀(KOH)和氫氧化鋰的堿性電解液有爬上容器口,翻越容器壁向地面再向墻壁爬越的特性,稱為爬堿。爬堿的危害是爬堿現(xiàn)象會(huì)引起蓄電池正、負(fù)極以及其他回路自放電加大,降低蓄電池正、負(fù)極間和直流系統(tǒng)的絕緣水平,消耗電解液,從而降低蓄電池適用壽命。所以自動(dòng)識(shí)別爬堿具有重要的實(shí)用價(jià)值。


          檢修一班真實(shí)現(xiàn)場(chǎng)的爬堿照片如下圖所示:



          很明顯有爬堿現(xiàn)象和沒有爬堿現(xiàn)象的蓄電池在圖像層面上有著本質(zhì)的區(qū)別,只需要用深度學(xué)習(xí)模型學(xué)習(xí)到這個(gè)區(qū)別,就可以根據(jù)現(xiàn)場(chǎng)無論什么設(shè)備什么方式采集到的蓄電池照片全自動(dòng)完成蓄電池是否爬堿的判斷,也就實(shí)現(xiàn)了人工智能。


          二、數(shù)據(jù)集準(zhǔn)備


          千里馬常有而伯樂不常有,套用到人工智能領(lǐng)域就是優(yōu)秀的模型算法常有,但優(yōu)質(zhì)的數(shù)據(jù)集不常有,這就是為什么大數(shù)據(jù)會(huì)成為企業(yè)重要資產(chǎn)的原因。


          目前限制整個(gè)國網(wǎng)公司以及信通公司在人工智能領(lǐng)域應(yīng)用的核心痛點(diǎn)不是沒有需求和應(yīng)用場(chǎng)景,而是在對(duì)應(yīng)需求和應(yīng)用場(chǎng)景下沒有優(yōu)質(zhì)的大規(guī)模數(shù)據(jù)集。


          因?yàn)樾铍姵剡\(yùn)維問題一直是通信運(yùn)檢一班運(yùn)維的痛點(diǎn)和難點(diǎn),所以班組有意識(shí)收集了大量的數(shù)據(jù)集。將數(shù)據(jù)集整理為兩類,一類是正常蓄電池,一類是爬堿蓄電池,再將數(shù)據(jù)集拆分為訓(xùn)練集(train)和測(cè)試集(test),訓(xùn)練集用來訓(xùn)練模型,數(shù)量種類越多,模型訓(xùn)練出來就越優(yōu)秀。測(cè)試集用來測(cè)試模型是否能準(zhǔn)確預(yù)測(cè),各種刁鉆的拍攝角度和爬堿類型都要來點(diǎn)兒,看是否能全部預(yù)測(cè)出來。


          整理后的效果如圖所示。


          訓(xùn)練集(包含正常蓄電池和爬堿蓄電池):




          測(cè)試集(包含正常蓄電池和爬堿蓄電池):




          最后打包成zip:



          訓(xùn)練集遵循一個(gè)原則,多多益善,為什么抖音(本質(zhì)上是人工智能分發(fā)系統(tǒng))能在全球大火,就是因?yàn)橹袊脩籼嗔耍瑪?shù)據(jù)喂得飽,模型訓(xùn)練得好。跟中國比,其他國家全是小數(shù)據(jù),只有我們是大數(shù)據(jù)。(美帝強(qiáng)就強(qiáng)在,他在全球拿數(shù)據(jù))


          三、省公司AI平臺(tái)的使用(百度AI Studio)


          省公司AI平臺(tái)本質(zhì)上是百度Ai Stduio的本地化部署,所以本次實(shí)驗(yàn)我們就在百度Ai Stduio上完成。省公司AI平臺(tái)在Ai Stduio的基礎(chǔ)上,考慮到基層員工編程技能不熟練,所以開發(fā)了一些智能編程的模塊,比如:作業(yè)建模,可視化建模,自動(dòng)化建模。本實(shí)驗(yàn)相當(dāng)于是Notebook建模,從頭開始自己完整寫出來。自己能夠?qū)懸徽状a后,也更有利于其他簡(jiǎn)單建模的理解。省公司建立這個(gè)AI平臺(tái)是更希望廣大員工幫忙一起補(bǔ)充數(shù)據(jù)集,標(biāo)注數(shù)據(jù)集。如果想自己獨(dú)立開發(fā),那么我更建議百度Ai Stduio,完成驗(yàn)證后可直接移植到省公司AI平臺(tái)上。



          用自己的百度賬號(hào),登陸Ai Stduio,點(diǎn)擊創(chuàng)建項(xiàng)目。



          選第一個(gè)Notebook就新建了一個(gè)Jupyter Notebook自己從頭開始編寫。接著配置環(huán)境選AI Studio經(jīng)典版,項(xiàng)目描述隨意填寫。



          點(diǎn)啟動(dòng)環(huán)境,開始進(jìn)行編程?,F(xiàn)在可以免費(fèi)白嫖GPU算力,以后按百度的尿性肯定要收費(fèi),所以趁早白嫖,直接選至尊GPU,運(yùn)算速度快。如果以后收費(fèi)了,也可以在省公司AI平臺(tái)上去利用平臺(tái)服務(wù)器的GPU進(jìn)行運(yùn)算,自己的個(gè)人電腦是不可能完成大規(guī)模深度學(xué)習(xí)模型訓(xùn)練的,這也是省公司開放AI平臺(tái)的原因。



          四、上傳數(shù)據(jù)集


          把打包好的zip文件放在work目錄下,執(zhí)行一段linux命令把zip解壓縮。



          !unzip?-q?work/蓄電池?cái)?shù)據(jù)集.zip?-d?work/


          五、代碼編寫


          設(shè)置參數(shù):

          batch_size = 10lr =5e-5epoch = 20train_path = './work/train'eval_path = "./work/test"

          數(shù)據(jù)傳入:

          from paddle.vision.datasets import DatasetFolderfrom paddle.io import DataLoaderfrom paddle.vision import transforms
          def train_dataload(image_dir): data_transform = transforms.Compose([ transforms.Resize(256), transforms.RandomCrop(230), transforms.ToTensor(), transforms.Transpose([0,1,2]) ]) dataset = DatasetFolder(image_dir, transform=data_transform) return dataset def eval_dataload(image_dir): data_transform = transforms.Compose([ transforms.Resize(230), transforms.RandomCrop(230), transforms.ToTensor(), transforms.Transpose([0,1,2]) ]) dataset = DatasetFolder(image_dir, transform=data_transform) return dataset train_dataset?=??train_dataload(train_path)eval_dataset = eval_dataload(eval_path)
          train_loader = list(DataLoader(train_dataset,batch_size=batch_size,shuffle=True))eval_loader?=?list(DataLoader(eval_dataset,batch_size=batch_size,shuffle=False))

          打印幾個(gè)圖像數(shù)據(jù)出來看看:

          for e in train_loader[:3]:    print(e)

          打印一個(gè)圖像出來看看:

          import matplotlib.pyplot as pltfrom PIL import Image
          img = Image.open("./work/test/爬堿蓄電池/微信圖片_20211020170100.jpg")plt.imshow(img)plt.axis('off')plt.show()


          建立模型:

          from paddle.vision.models import resnet50import paddlemymodel = paddle.Model(resnet50(num_classes=2,pretrained=True))loss = paddle.nn.CrossEntropyLoss()optimizer = paddle.optimizer.Adam(learning_rate=5e-5,parameters=mymodel.parameters())mymodel.prepare(loss=loss,optimizer=optimizer,metrics=paddle.metric.Accuracy())


          (Resnet是殘差網(wǎng)絡(luò)(Residual Network)的縮寫,該系列網(wǎng)絡(luò)廣泛用于目標(biāo)分類等領(lǐng)域以及作為計(jì)算機(jī)視覺任務(wù)主干經(jīng)典神經(jīng)網(wǎng)絡(luò)的一部分,典型的網(wǎng)絡(luò)有resnet50, resnet101等。Resnet網(wǎng)絡(luò)證明網(wǎng)絡(luò)能夠向更深(包含更多隱藏層)的方向發(fā)展。)


          訓(xùn)練保存模型:

          mymodel.fit(train_data=train_loader,eval_data=eval_loader,batch_size=10,epochs=epoch,verbose=True,save_dir="./check_ponit",save_freq=1)


          結(jié)果分析:


          訓(xùn)練出來的模型在訓(xùn)練集上的正確率為100%。

          在測(cè)試集上的正確率為90%,達(dá)到預(yù)期目標(biāo)。


          模型保存:


          保存后的模型可部署到硬件設(shè)備上進(jìn)行人工智能自動(dòng)識(shí)別。


          總結(jié):


          整個(gè)人工智能應(yīng)用案例分為以下4個(gè)主要步驟:


          1. 確定應(yīng)用場(chǎng)景

          2. 準(zhǔn)備數(shù)據(jù)集

          3. AI平臺(tái)創(chuàng)建項(xiàng)目

          4. 編程實(shí)現(xiàn)


          整個(gè)項(xiàng)目最難的部分在優(yōu)質(zhì)數(shù)據(jù)集的有效收集。


          進(jìn)一步優(yōu)化思路:

          1. 更多的年輕人學(xué)會(huì)使用python和AI平臺(tái),并結(jié)合自己的生產(chǎn)實(shí)際提出更多的應(yīng)用場(chǎng)景。

          2. 建立班組大數(shù)據(jù)庫,全員有意識(shí)收集相關(guān)的數(shù)據(jù)。更合理的方式是數(shù)據(jù)由設(shè)備自動(dòng)采集存儲(chǔ)。

          3. 積累更多的數(shù)據(jù)集來優(yōu)化訓(xùn)練已有的模型從而提高識(shí)別準(zhǔn)確率。

          4. 嘗試更多的先進(jìn)模型并調(diào)整參數(shù)來提高識(shí)別準(zhǔn)確率


          學(xué)習(xí)路徑及免費(fèi)資源:


          百度Ai Studio(百度賬號(hào)登陸):


          阿里天池(支付寶賬號(hào)登陸):

          往期精彩回顧




          站qq群554839127,加入微信群請(qǐng)掃碼:


          瀏覽 86
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美精品久久久久黄片18试看 | 黄色毛片视频 | 日韩精品在线观看免费 | 波多野结衣视频网址 | 中国一级特黄毛片大片 |