深度学习实现NBA球星颜值打分完整案例(二)
已經(jīng)上傳了完整的代碼和數(shù)據(jù),數(shù)據(jù)比較少,大家可以幫忙補(bǔ)充。
項(xiàng)目地址(記得給個(gè)start):https://github.com/jimenbian/face_rank
?
最近咳嗽加班比較嚴(yán)重,耽誤了幾天,今天接著之前的文章來講。在上一篇文章中我們已經(jīng)生成了預(yù)測(cè)模型,今天要做的事情很簡(jiǎn)單,就是調(diào)用這個(gè)模型針對(duì)某一張人臉圖片進(jìn)行分類,看看究竟把這個(gè)人按照顏值分到class1(好看的一類)還是class2(不好看的一類)?,F(xiàn)在直接來看face_test.py這個(gè)代碼。
?
路徑設(shè)置
IMAGE_PATH = './trainDataSet/class1/d.jpg'
MODEL_PATH='./model/model'
?
IMAGE_PATH是需要預(yù)測(cè)的圖片的地址,我們就隨便選了一張,帥不帥大家自己判斷
?
MODEL_PATH是上一篇文章介紹的生成好的模型存放的路徑
?
網(wǎng)絡(luò)結(jié)構(gòu)
通過conv_net函數(shù)構(gòu)建的CNN網(wǎng)絡(luò)結(jié)構(gòu)
?
圖片預(yù)處理
接下來我們要對(duì)預(yù)測(cè)圖片做一下預(yù)處理,是得圖片可以直接通過模型預(yù)測(cè)。預(yù)處理邏輯與訓(xùn)練的時(shí)候基本相同
image_test = tf.read_file(IMAGE_PATH)
image_test =tf.image.decode_jpeg(image_test, channels=CHANNELS)
image_test =tf.image.resize_images(image_test, [IMG_HEIGHT, IMG_WIDTH])
image_test = image_test * 1.0/127.5 - 1.0
label=0
X_test= tf.train.batch([image_test],batch_size=batch_size,capacity=batch_size *8, num_threads=4)
?
做一些解碼、resize、歸一化工作,然后將預(yù)測(cè)圖片生成為tensorflow的batch。
?
?
構(gòu)建預(yù)測(cè)邏輯
logits_train = conv_net(X_test, N_CLASSES,dropout, reuse=False, is_training=True)
result=tf.argmax(logits_train, 1)
首先通過conv_net函數(shù)構(gòu)建網(wǎng)絡(luò),因?yàn)槭嵌诸悊栴},只有好看和不好看兩種情況,通過tf.argmax挑選出屬于class1和class2的概率。
?
在session中啟動(dòng)result的計(jì)算op,然后把結(jié)果打印。
?
預(yù)測(cè)結(jié)果
通過tf.session中的print(result1[0])把結(jié)果打印出來:
如果結(jié)果是0表示預(yù)測(cè)圖片屬于class1
如果結(jié)果是1表示屬于class2
好啦,兩篇分享的文章都寫出來了,代碼數(shù)據(jù)也貢獻(xiàn)出來了,大家學(xué)會(huì)了沒~
總結(jié)
以上是生活随笔為你收集整理的深度学习实现NBA球星颜值打分完整案例(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GPU高效通信算法-Ring Allre
- 下一篇: [特征工程系列一] 论特征的重要性