1.安裝ubuntu16.04_desktop系統,步驟略過;
2.修改ubuntu 軟體源為國內映象:
sudo vi /etc/apt/source.list
:%s/us.archive.ubuntu/mirrors.aliyun/g
:wqsudo apt-get update
3.安裝顯示卡驅動sudo apt-get install nvidia-384
安裝完成後 通過 nvidia-smi 命令可以驗證一下是否安裝成功
4.安裝cuda
wget
sudo dpkg --install cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda-8-0
sudo gedit /etc/profile
#在profile檔案中新增:
export cuda_home="/usr/local/cuda-8.0"
export path="/usr/local/cuda-8.0/bin:$"
export ld_library_path="/usr/local/cuda-8.0/lib64:$"
#然後:
source /etc/profile
通過輸入 nvcc -v 可以驗證cuda是否正常安裝
5.安裝cudnn庫
或者
sudo dpkg --install libcudnn6*****
*****
*******.deb
6.修改pip 軟體源為國內映象mkdir -p ~/.pip
cd ~/.pip
vim pip.conf
檔案內加入以下內容:
[global]
index-url=
.tsinghua
.edu
.cn/******
7.安裝 pip virtualenvsudo apt-get python-dev python3-dev
sudo apt-get install python-pip python-virtualenv
sudo pip install -u pip
sudo pip install -u virtualenv
8.建立乙個python虛擬執行環境mkdir -p env/tensorflow
virtualenv env/tensorflow
# 如果需要python3 版本 virtualenv -p /usr/bin/python3 env/tensorflow
source
env/tensorflow/bin/activate
9.安裝 深度學習 執行環境pip install numpy scipy matplotlib pillow scikit-learn scikit-image
pip install tensorflow-gpu
pip install opencv-python
pip install h5py keras
pip install ipython==5.5.0
pip install jupyter
10.執行 jupyterjupyter notebook
預設情況下會使用預設瀏覽器開啟乙個 jupyter 的介面。
到這裡gpu進行深度學習實驗的簡陋實驗環境就已經搭建好了,我們來執行乙個hello world驗證一下:
新建乙個notebook,然後輸入下面的內容,最後ctrl + enter 執行。
import tensorflow as tf
layer1 = tf.placeholder(tf.string)
with tf.session() as sess:
print
'output:', sess.run(layer1, feed_dict=)
執行結果如下圖:
這裡說明以下我為什麼選擇jupyter作為實驗環境,而不是傳統的ide,比如sublime, pycharm, eclipse+pydev ,因為方便並且便於演示。如果不習慣這種方式可以改用其他環境。
下面再執行乙個演示程式:
%matplotlib inline
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
# prepare train data
train_x = np.linspace(-1, 1, 100)
train_y = 2 * train_x + np.random
.randn(*train_x.shape) * 0.33 + 10
# define the model
x = tf.placeholder("float")
y = tf.placeholder("float")
w = tf.variable(0.0, name="weight")
b = tf.variable(0.0, name="bias")
loss = tf.square(y - x*w - b)
train_op = tf.train
.gradientdescentoptimizer(0.01).minimize(loss)
# create session to run
with tf.session() as sess:
sess.run(tf.global_variables_initializer())
epoch = 1
for i in range(30):
for (x, y) in zip(train_x, train_y):
_, w_value, b_value = sess.run([train_op, w, b],feed_dict=)
print("epoch: {}, w: {}, b: {}"
.format(epoch, w_value, b_value))
epoch += 1
# draw plot
plt.plot(train_x,train_y,"+")
plt.plot(train_x,train_x.dot(w_value)+b_value)
plt.show()
執行結果如下:
上面這個例程演示了深度學習的基本概念,首先使用np.linespace生成(-1,1)之間的100個隨機數,然後將他們執行同一線性運算,最後通過前30個資料,**出這些點的回歸曲線。背後的理論請大家自己查文獻吧,我這裡僅僅是個演示。
因為實驗環境只是自己使用,所以使用virtualenv的方式,如果乙個實驗環境多人使用,建議使用 nvidia docker 的方式將每個人的實驗環境分離開。
規劃小結(第一期)
一月一小結,這是規劃裡既定的方案,而從正式開學大現在也剛有31天了,所以寫下第一期的規劃小結,和有關於下一期的規劃安排。在第一期的學習中,其實是在原本的規劃上有一定小的調整的,總結的概括如下 第一 調整了對於bootloader的學習,在這一期主要將bootloader進行了乙個系統的了解,而並未著...
總結做完第一期專案
首先,對於這個專案,需求不是很明確,然後要到交貨的時候,都還在趕,還在添需求,給研發來說,心驚膽顫,因為怕新增的會有影響。所以,一定在前期,先把需求整理好。如果對需求沒有理解充分,就及時的與客戶交流。當然,也會遇到傳說中的不好交流的客戶,給研發人員來說,那就是一種壓力,所以不想去理睬客戶。但是最後傷...
第一期 第八題
a b problem too problem description this problem is also a a b problem,but it has a little difference,you should determine does a b could be divided w...