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