(黃獻德) Hsien-De Huang | E-Mail:TonTon (at) TWMAN.ORG | TonTon (痛痛)
Malware Analysis Network in Taiwan (MiT) | 惡意程式分析網在台灣 (抬丸郎)
Deep Learning (深度學習), Malware Analysis (惡意程式分析), Ontology (知識本體)
Android Reverse Engineering (Android 逆向工程), Type-2 Fuzzy Logic (第二型模糊邏輯)

ONE PIECE (海賊王)

ONE PIECE (海賊王)

2016年9月30日

NVIDIA Deep Learning Toolbox - DIGITS

[教學] 應用深度學習與大數據分析識別詐騙(騷擾)電話
HadoopCon 2016 (第八屆台灣Hadoop社群年會)
2016 CSA Taiwan Summit
(開箱) GIGABYTE GTX 960 4G * 2 + Ubuntu x64 14.04 + TensorFlow 0.8 安裝教學
[教學] Install TensorFlow with Docker on Centos 6.6 x86_64

嗯 ! 意外的 Deep Learning (深度學習) 寫了不少篇了 ... 今天要介紹一個目前感覺超方便的工具 ! 深度學習真的就是個很強大的東西 ... 希望這些文章可以幫助入門的人不用像我一個人硬幹花了好多時間,撞牆很多次啊 ! Orz
tensorflow deep learning install:https://goo.gl/dUJjVI 

https://cloud.google.com/ml/ 
嗯 ! 順手送上本日最大新聞 ... 不過價格才是關鍵啊 ! 
https://cloud.google.com/ml/pricing



然後整個安裝在 14.04 下也超級的簡單 (16.04 會有怪問題),簡單到我都不好意思寫這篇文章了啊 ! 官網寫的超清楚啊 ! https://github.com/NVIDIA/DIGITS
而且文件是我目前看過 github 上最清楚易懂的一個了啊 !

首先你得先裝一下 caffe ... 嗯 ! 目前是不能跑 tensorflow 的 ! XD

apt-get install git cmake libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler -y
apt-get install --no-install-recommends libboost-all-dev -y
apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev -y

export CAFFE_HOME=~/caffe
git clone https://github.com/NVIDIA/caffe.git $CAFFE_HOME
sudo pip install -r $CAFFE_HOME/python/requirements.txt
cat $CAFFE_HOME/python/requirements.txt | xargs -n1 sudo pip install
cd $CAFFE_HOME
mkdir build
cd build
cmake ..
make --jobs=4

CUDA_REPO_PKG=cuda-repo-ubuntu1404_7.5-18_amd64.deb
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/${CUDA_REPO_PKG} -O /tmp/${CUDA_REPO_PKG}
sudo dpkg -i /tmp/${CUDA_REPO_PKG}
rm -f /tmp/${CUDA_REPO_PKG}


ML_REPO_PKG=nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/${ML_REPO_PKG} -O /tmp/${ML_REPO_PKG}
sudo dpkg -i /tmp/${ML_REPO_PKG}
rm -f /tmp/${ML_REPO_PKG}


# sudo apt-get update
# sudo apt-get install digits

接著再補一下相關套件吧 ! 真的可以認真查一下文件 !

# sudo apt-get install --no-install-recommends build-essential cmake git gfortran libatlas-base-dev libboost-all-dev libgflags-dev libgoogle-glog-dev libhdf5-serial-dev libleveldb-dev liblmdb-dev libopencv-dev libprotobuf-dev libsnappy-dev protobuf-compiler python-all-dev python-dev python-h5py python-matplotlib python-numpy python-opencv python-pil python-pip python-protobuf python-scipy python-skimage python-sklearn

# sudo pip install -r $CAFFE_HOME/python/requirements.txt

至於怎操作我想如果已經大概懂 Deep Learning (深度學習) 原理 或者是有操作過 caffe 和 tensorflow 等的,用起來想必是非常容易快上手的,這點我想不會對大家造成困擾的 !

不過我還是在網路上找到一篇算是蠻詳細的教學,給大家參考看看 !



最後,附上一張我測試的過程 ... 然後我的心得是 ... 這工具真的是蠻方便的,雖然我現在只是用 Inception v3 跟 MNIST 來做測試,不過看來它裡面也可以自己建模型 ... 同時 GPU 平行化這點讓我最意外,不像之前還在想說用 keras 似乎不能平行化,還得找時間要回頭瞭解一下 tensorflow 怎樣平行化  ~~~~ Orz .....


===不負責印像中的說法 ===
NN 的做法是同時做兩次,最後再回來相加除2 ... 應該說平行化對NN的性能而言不會有太大幫助,但是NN是靠訓練來拉高準確度,某個層面來看的話,平行化就等於你訓練了兩倍的量,這樣結果會拉高,但整個花的時間並不會縮短 ... 這是之前看到文件講的,我再實際試試看是不是這樣 ...



最後,下次來寫個 Convolutional Neural Network (CNN) 卷積類神經網路 跟 Deep Neural Network 深層類神經網路 的簡要說明教學吧 !


之前在 Freebuf 分享 "如何用深度學習識別網絡欺詐?" http://www.freebuf.com/articles/paper/108123.html


至於這個呢 ? 就是驗證一下之前做的惡意推廣 (欺詐廣告) 啦 !


 "應用深度學習與大數據分析識別詐騙(騷擾)電話”"
http://www.freebuf.com/articles/others-articles/113990.html