上一篇文章我们已经成功对jetson tx2或Xavier进行了刷机,这个时候Xavier和tx2已经有了做AI加速计算的SDK和条件,如opencv库,CUDA,cuDNN等。想要检查和测试这些组件的话,由于这些组件都在固定文件夹,比较简单,就不详细赘述,这里有一个教程链接可以参考一下:https://blog.csdn.net/qq_19707521/article/details/103669306,确认无误后,下面我们开始进行tensorflow-gpu的安装。
因为刷系统时,SDKManager已经为你的tx2或Xavier装好了python3.6,所以直接键入命令安装pip3
sudo apt-get install python3-pip python3-dev
python3 -m pip install --upgrade pip #升级pip
备注:你要装的tensorflow肯定是要在python3环境中的,所以后面安装python3的库文件时一定要用pip3,不要用pip,因为jetson tx2和Xavier上还有python2的环境
如果pip3不换源,后面下载那些依赖包或库的时候速度特别慢,速度可以达到几K每秒,换完源后速度飞快,事半功倍。
修改配置文件~/.pip/pip.conf(如果没有就自行创建,格式和前面的必须完全一致,这个一般情况下是没有的)创建过程如下:
mkdir ~/.pip
cd ~/.pip
touch pip.conf
修改过程如下;
sudo vim ~/.pip/pip.conf
在打开的文档中加入
[global]
index-url=https://mirrors.aliyun.com/pypi/simple
[install]
trusted-host=mirrors.aliyun.com
这是阿里云的pip源,还有清华和中科大和豆瓣的源可以选择,网上很好搜到。
这里参考了英伟达官网教程https://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform/index.html#upgrading_tensorflow
sudo apt-get install python3-scipy
sudo apt-get install python3-pandas
sudo apt-get install python3-sklearn
sudo apt-get update
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
sudo pip3 install -U numpy==1.16.1 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11
首先,英伟达官网说了从20.02容器,容器可以理解放tensorflow的空间,之后开始,对jetson系列来说,tensorflow-gpu的名称已经被tensorflow替代,tersorflow默认就是gpu版本。终端运行如下命令:
先不要急着输入命令,先看这条命令和下面我对命令的解释,最后你就知道你要输入什么命令了
sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v$JP_VERSION tensorflow==$TF_VERSION+nv$NV_VERSION
$JP_VERSION:jetpack的版本,如4.3、4.4
$TF_VERSION:TensorFlow的发行版本,如1.15,2.1.0等
$NV_VERSION:Tensorflow容器版本,如20.4,20.6等
以下都是以jetpack4.4为例:访问 https://developer.download.nvidia.cn/compute/redist/jp/v44
如果是jetpack4.3的话上面链接中的v44就改成v43,访问上面链接得到下图
然后点击上图中的tensorflow进入,得到下图,可以看到安装不同tensorflow的wheel
比如我要装tensorflow-1.15.2+nv20.4-cp36-cp36m-linux_aarch64.whl,
这里tensorflow版本为1.15.2,容器版本为20.4
那么我只要输入下面命令就行
sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 tensorflow==1.15.2+nv20.4
根据上面图片中的wheel,如果要装tensorflow-2.3.1+nv20.10-cp36-cp36m-linux_aarch64.whl的话,照葫芦画瓢,输入以下命令:
sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 tensorflow==2.3.1+nv20.10
备注:一定要把tensorflow版本和容器版本和jetpack版本写清楚,要不然安装可能会失败。
由于我们更换的pip3的源,换成了国内的源,安装tensorflow的速度会很快。
最简单的方法:打开终端输入以下命令
python3 #进入python3环境
import tensorflow as tf #导入tensorflow包,一般这步没问题就成功
print(tf.__version__) #输入tensorflow版本
复杂的方法:写一个简单的网络
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
x_data = np.linspace(-0.5, 0.5, 200)[:,wang np.newaxis]
noise = np.random.normal(0, 0.02, x_data.shape)
y_data = np.square(x_data) + noise
x = tf.placeholder(tf.float32, [None, 1])
y = tf.placeholder(tf.float32, [None, 1])
# 第一层
Weights_L1 = tf.Variable(tf.random.normal([1, 10]))
Biases_L1 = tf.Variable(tf.zeros([1, 10]))
Wx_plus_b_L1 = tf.matmul(x, Weights_L1) + Biases_L1
L1 = tf.nn.tanh(Wx_plus_b_L1)
# 第二层
Weights_L2 = tf.Variable(tf.random.normal([10, 1]))
Biases_L2 = tf.Variable(tf.zeros([1, 1]))
Wx_plus_b_L2 = tf.matmul(L1, Weights_L2) + Biases_L2
pred = tf.nn.tanh(Wx_plus_b_L2)
# 损失函数
loss = tf.reduce_mean(tf.square(y - pred))
# 训练
train = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(2000):
sess.run(train, feed_dict={
x: x_data, y: y_data})
print("第{0}次,loss = {1}".format(i, sess.run(loss,feed_dict={
x: x_data, y: y_data})))
pred_vaule = sess.run(pred, feed_dict={
x: x_data})
plt.figure()
plt.scatter(x_data, y_data)
plt.plot(x_data, pred_vaule, 'r-', lw=5)
plt.show()
此处参考文章:https://blog.csdn.net/beckhans/article/details/89146881