神通情人夢的願望3(Tensorflow+GPU基礎建設中)
話說為了神通情人夢的願望 , 只好著手DIY搞一套GPU基礎建設 (參考此篇 : 神通情人夢的願望2(設法採用GPU提升DCGAN速度)) , 還特地跑了一趟光華原價屋買了一顆 WD 藍標 250G SSD (NT $1390) , 原本是想買 Intel 545s 256G SSD (Pchome 約 NT $1499) , 但原價屋店員跟我說WD三創就有保固 , Intel保固還要送國外原廠 , 想想似乎也有道理 , 就買了 ( 很不堅持 XD ) , 順便經過電子材料行 , 買了個開關回家 , 不然開關機還要一直用"羅賴把" 去 touch 它 ...
順手買了個 8元的開關 有沒感覺按了會爆炸 ... |
該有的都有了 , 開始搞東西 , 首先評估到底要用 CenOS or Ubuntu , 爬了一下資料 , 似乎Ubuntu的使用案例較多 , 參考底下資料 : Install Tensorflow-GPU to use Nvidia GPU using anaconda on Ubuntu 18.04 / 18.10 do AI!
似乎到時編譯CUDA9.0時會遇到 GCC 版本問題 用Ubuntu似乎比較輕鬆 (參考Ubuntu + CUDA9.0 + tensorflow-gpu 安装过程) |
但央喜還是比較喜歡CentOS的環境 , 爬了些資料也是有人用CentOS來玩 , 加上CentOS比較 for Server , ISO下載檔案小 , 央喜習慣用SSH遠端操作 , 不太愛用桌面UI , 想想還是來搞CentOS吧.
( 備忘參考: CentOS 7 安装TensorFlow GPU深度学习环境 )
底下開始來搞東搞西 :
1. 不想燒光碟 , 找了一個4G USB隨身碟 , 準備製作CentOS USB開機
(1)先至官網下載CentOS (央喜喜歡用 Minimal ISO 安裝 , 反正網路好後有需要的都網路在裝)
(一開始選用偏愛的元智yzu 載點 , 下載不到一半就卡住 = = 似乎有點障礙 , 查了一下 mirror status
後來改選用 hinet idc 的 mirror 站台下載飛快 , What happen !? 元智!! 加油!! )
Hinet IDC 載點 CentOS-7-x86_64-Minimal-1810.iso
(2)要如何做把ISO燒進USB並可以boot呢 ? (參考此篇 : 如何通過 USB 設備來安裝 CentOS)
(2)要如何做把ISO燒進USB並可以boot呢 ? (參考此篇 : 如何通過 USB 設備來安裝 CentOS)
文中提到 : 由 CentOS 6.5 及 7.0 起,建立 USB 儲存器的首選方法是利用 dd , but 發現被騙了... XD
用 dd 跑好久 USB讀寫燈一直閃爍 , 後來索性直接 Crtl + C , 還把USB搞壞 , 爬了一下文才把USB修好 (參考 : USB容量變小的恢復解決辦法 ) , 改採 Win32 Disk Imager , 不到片刻就完成了 ... 插進去 , 開機 ! OK!
可用 Win32 Disk Imager 將CentOS ISO寫入USB 做安裝 ( 若你覺的螢幕髒髒的 不是你的螢幕問題 XD) |
2.再來就是設CentOS7網路 . 開發工具 . 需要的套件等等:
反正缺啥就裝啥 , 網路很多資料 , 就不多寫了 , 主要看來大部分 Tensorflow 網路Sample都是 python 的語言寫 , 於是先來裝個 python3吧
(1)把預設環境設定為Python3 , 參考【Python】CentOS7 安裝 Python3
(2)先安裝測試CentOS yum 自帶的OpenCV 版本 How to Install OpenCV on CentOS 7
(3)用Python爬蟲抓一些圖來試試 百度圖片爬蟲,基於python3
Sample code ( Test with Python 3.6.3):
============================
Sample code ( Test with Python 3.6.3):
============================
import cv2 import sys import os.path from glob import glob def detect(filename, cascade_file="/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml"): if not os.path.isfile(cascade_file): raise RuntimeError("%s: not found" % cascade_file) cascade = cv2.CascadeClassifier(cascade_file) image = cv2.imread(filename) if image is None: # read failure and skip this image return if image.shape[2]==1: # drop gray images return gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) gray = cv2.equalizeHist(gray) faces = cascade.detectMultiScale(gray, # detector options scaleFactor=1.1, minNeighbors=3, minSize=(96, 96)) for i, (x, y, w, h) in enumerate(faces): face = image[y: y + h, x:x + w, :] face = cv2.resize(face, (96, 96)) save_filename = '%s-%d.jpg' % (os.path.basename(filename).split('.')[0], i) cv2.imwrite("face/" + save_filename, face) if __name__ == '__main__': if os.path.exists('face') is False: os.makedirs('face') file_list = glob('./test/*.jp*') for filename in file_list: print(filename) detect(filename)============================
(4) 再來先測一下 DCGAN in Tensorflow , 反正也是缺啥就用 pip 裝一裝 (此時 CUDA還沒搞上去 , 已經累了 XD ... 先測一下DCGAN可不可以 work)
YES ! 可以RUN ! 也快多了 ( 還沒上 CUDA )
似乎有 deprecated 訊息 , 先不管它 , 先筆記一下日後再查 , 來睏 ~~ XD
=====================================
/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/scipy/misc/pilutil.py:482: FutureWarning: Conversion of the second argument of issubdtype from `int` to `np.signedinteger` is deprecated. In future, it will be treated as `np.int64 == np.dtype(int).type`.
if issubdtype(ts, int):
/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/scipy/misc/pilutil.py:485: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
=====================================
DCGAN in Tensorflow running OK , 速度有快許多!! (還沒上 CUDA) |
Ref:
Install Tensorflow-GPU to use Nvidia GPU using anaconda on Ubuntu 18.04 / 18.10 do AI!
Ubuntu + CUDA9.0 + tensorflow-gpu 安装过程
CentOS 7 安装TensorFlow GPU深度学习环境
如何通過 USB 設備來安裝 CentOS
USB 隨身碟容量變小恢復原本容量的解決方法
Win32 Disk Imager download
【Python】CentOS7 安裝 Python3
How to Install OpenCV on CentOS 7
DCGAN in Tensorflow
留言
張貼留言