第一期 實驗環境搭建 《顯示卡就是開發板》

2021-08-10 05:12:31 字數 3826 閱讀 8835

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 virtualenv
sudo 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.執行 jupyter
jupyter 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...