国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序

這篇具有很好參考價值的文章主要介紹了【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

設(shè)計一個基于深度學(xué)習(xí)的生活垃圾分類機器人軟件系統(tǒng),針對現(xiàn)實社會中產(chǎn)生的垃圾照片進行自動識別分類,對不同類別的垃圾,干垃圾,濕垃圾,可回收垃圾,有害垃圾等進行分類統(tǒng)計處理,減輕人工針對垃圾分類的工作量,提高垃圾分類的效率。

原文地址

一、程序設(shè)計

本基于深度學(xué)習(xí)的生活垃圾分類機器人軟件,系統(tǒng)基礎(chǔ)建設(shè)功能是垃圾的收集分類,因此需要針對垃圾數(shù)據(jù)的同圖片采集的方式通過深度學(xué)習(xí)訓(xùn)練垃圾識別模型,進而實現(xiàn)從不同垃圾圖片樣本中識別垃圾種類。因此在針對垃圾數(shù)據(jù)識別訓(xùn)練之前,需要準備訓(xùn)練使用的樣本數(shù)據(jù)圖片集合,此部分采用網(wǎng)絡(luò)爬蟲的技術(shù)手段收集互聯(lián)網(wǎng)中存在的垃圾圖片樣本,進行歸類整理。垃圾數(shù)據(jù)圖片收集的爬取過程邏輯,具體如圖所示。
【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)

二、效果實現(xiàn)

分類統(tǒng)計

【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)

垃圾管理

【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)

垃圾識別

【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)
【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)
【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)
其他效果省略

三、算法實驗

本次畢設(shè)系統(tǒng)在設(shè)計中,主要采用ResNext101_32x16d_WSL網(wǎng)絡(luò)作為基本的網(wǎng)絡(luò)結(jié)構(gòu)進行遷移學(xué)習(xí),將CBAM注意力機制模塊添加在首層卷積層,來增強圖像特征表征能力,關(guān)注圖像的重要特征抑制不必要的特征,固定除全連接層之外的其他層的權(quán)重。為降低過擬合,在模型全連接層添加了Dropout層,損失函數(shù)采用交叉熵損失函數(shù),優(yōu)化函數(shù)對比了SGD和Adam,Adam在起始收斂速度快,但最終SGD精度高,所以采用了SGD。最終模型結(jié)構(gòu)如圖所示。
【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)

核心實現(xiàn)源碼文章來源地址http://www.zghlxwxcb.cn/news/detail-650844.html

import numpy as np
import scipy.io
import matplotlib.pyplot as plt

class Pegasos:
def init(self, train_path, test_path, C, T, loss):
self.__dataprocess(train_path, test_path)
self.n = len(self.train_x)

    self.C = C
    self.T = T
    self.lam = 1/(self.n*self.C)
    self.loss = loss

    self.W = np.random.randn(1899, 1)
    self.b = np.random.randn(1, 1)
    self.choose = np.random.choice(self.n, self.T, replace = True)

    self.__Pegasos()

def __dataprocess(self, train_path, test_path):
    ''' 數(shù)據(jù)處理函數(shù)'''
    train_set = scipy.io.loadmat(train_path)
    test_set = scipy.io.loadmat(test_path)
    self.train_x = train_set['X']
    self.test_x = test_set['Xtest']
    self.train_y = train_set['y'].astype(np.int16) * 2 - 1
    self.test_y = test_set['ytest'].astype(np.int16) * 2 - 1

def __Pegasos(self):
    ''' 通過 Pegasos 算法訓(xùn)練模型, st為 y * (wx + b)'''
    cost = []
    for t in range(1, self.T + 1):
        eta = 1 / (self.lam * t)
        st = self.train_y[self.choose[t-1]][0] * self.classifier(self.train_x[self.choose[t-1]])
        self.W, self.b = self.loss.gradDes(self.W, self.b, 
                                        np.swapaxes([self.train_x[self.choose[t-1]]], 0, 1), 
                                        self.train_y[self.choose[t-1]][0], st, 
                                        self.lam, eta)
        cost.append(self.loss.loss(self.W, self.lam, st))

    self.__plot(cost)

def classifier(self, x):
    '''分類器, 當前 W, b 下模型計算結(jié)果'''
    return np.matmul(x, self.W) + self.b

def classify(self):
    ''' 
    分類: 使用訓(xùn)練后的模型對訓(xùn)練集、測試集分類, 并將正確分類的數(shù)量存儲在數(shù)組 num 中
    使用數(shù)組? 因為懶得為兩個數(shù)據(jù)集合起兩個名字了
    '''
    num = [0, 0]
    for i in range(len(self.train_y)):
        num[0] += 1 if self.classifier(self.train_x[i]) * self.train_y[i][0] >= 1 else 0
    for i in range(len(self.test_y)):
        num[1] += 1 if self.classifier(self.test_x[i]) * self.test_y[i][0] >= 1 else 0

    self.__print(num)

def __print(self, num):
    ''' 打印模型在訓(xùn)練集和測試集上的測試結(jié)果'''
    print('支持向量機')
    print('C = ', self.C)
    print('T = ', self.T)
    print('訓(xùn)練集acc = {}, {}/{}'.format(num[0]/len(self.train_y), num[0], len(self.train_y)))
    print('測試集acc = {}, {}/{}'.format(num[1]/len(self.test_y), num[1], len(self.test_y)))

def __plot(self, cost):
    ''' 繪制目標函數(shù)梯度下降的圖像'''
    t = np.arange(self.T)
    plt.plot(t, cost, 'r')
    plt.title("C = {}, T = {}, loss: {}".format(self.C, self.T, self.loss.__name__))
    plt.legend()
    plt.savefig('../output/{}/{}_{}.png'.format(self.loss.__name__, self.C, self.T))

class hinge:
@staticmethod
def gradDes(W, b, x, y, st, lam, eta):
if st < 1 :
W -= eta * (lam * W - y * x)
b += eta * y
else:
W -= eta * lam * W
return W, b

@staticmethod
def loss(W, lam, st):
        return np.linalg.det(lam / 2 * np.matmul(np.swapaxes(W,0,1), W) + np.max([0, 1-st]))

class exponential:
@staticmethod
def gradDes(W, b, x, y, st, lam, eta):
if st < -8: st = -8
exp = np.exp(-st)
W -= eta * (lam * W - y * x * exp)
b += eta * y * exp
return W, b

@staticmethod
def loss(W, lam, st):
    return np.linalg.det(lam / 2 * np.matmul(np.swapaxes(W,0,1), W) + np.exp(-st))

class logistic:
@staticmethod
def gradDes(W, b, x, y, st, lam, eta):
exp = np.exp(-st)
W -= eta * (lam * W - y * x * exp / (1 + exp))
b += eta * y * exp / (1 + exp)
return W, b

@staticmethod
def loss(W, lam, st):
    return np.linalg.det(lam / 2 * np.matmul(np.swapaxes(W,0,1), W) + np.log(1 + np.exp(-st)))
【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)

設(shè)計一個基于深度學(xué)習(xí)的生活垃圾分類機器人軟件系統(tǒng),針對現(xiàn)實社會中產(chǎn)生的垃圾照片進行自動識別分類,對不同類別的垃圾,干垃圾,濕垃圾,可回收垃圾,有害垃圾等進行分類統(tǒng)計處理,減輕人工針對垃圾分類的工作量,提高垃圾分類的效率。

原文地址

一、程序設(shè)計

本基于深度學(xué)習(xí)的生活垃圾分類機器人軟件,系統(tǒng)基礎(chǔ)建設(shè)功能是垃圾的收集分類,因此需要針對垃圾數(shù)據(jù)的同圖片采集的方式通過深度學(xué)習(xí)訓(xùn)練垃圾識別模型,進而實現(xiàn)從不同垃圾圖片樣本中識別垃圾種類。因此在針對垃圾數(shù)據(jù)識別訓(xùn)練之前,需要準備訓(xùn)練使用的樣本數(shù)據(jù)圖片集合,此部分采用網(wǎng)絡(luò)爬蟲的技術(shù)手段收集互聯(lián)網(wǎng)中存在的垃圾圖片樣本,進行歸類整理。垃圾數(shù)據(jù)圖片收集的爬取過程邏輯,具體如圖所示。
【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)

二、效果實現(xiàn)

分類統(tǒng)計

【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)

垃圾管理

【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)

垃圾識別

【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)
【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)
【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)
其他效果省略

三、算法實驗

本次畢設(shè)系統(tǒng)在設(shè)計中,主要采用ResNext101_32x16d_WSL網(wǎng)絡(luò)作為基本的網(wǎng)絡(luò)結(jié)構(gòu)進行遷移學(xué)習(xí),將CBAM注意力機制模塊添加在首層卷積層,來增強圖像特征表征能力,關(guān)注圖像的重要特征抑制不必要的特征,固定除全連接層之外的其他層的權(quán)重。為降低過擬合,在模型全連接層添加了Dropout層,損失函數(shù)采用交叉熵損失函數(shù),優(yōu)化函數(shù)對比了SGD和Adam,Adam在起始收斂速度快,但最終SGD精度高,所以采用了SGD。最終模型結(jié)構(gòu)如圖所示。
【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序,程序設(shè)計,深度學(xué)習(xí),python,神經(jīng)網(wǎng)絡(luò)

核心實現(xiàn)源碼

import numpy as np
import scipy.io
import matplotlib.pyplot as plt

到了這里,關(guān)于【轉(zhuǎn)載】基于Python+深度學(xué)習(xí)+神經(jīng)網(wǎng)絡(luò)實現(xiàn)高度可用的生活垃圾分類機器人程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包