ubuntu16.04安装tensorflow1.x

笔者有学习需要,故要安装tensorlow,之所以安装1.x版本的,是因为目前能找到的学习视频都是针对1.x版本来的,而且1.x和2.x的版本差别还是有一些的,笔者想着先用1.x版本来学习,经过一天的安装,笔者发现安装这个并没有想象的那么简单,但经过尝试也找到了一个好一点的安装方法,写在这里,记录一下
笔者使用的是ubuntu最基础的虚拟机版本,没加其他东西,所以配那些cuda什么的有点麻烦,但笔者安装的版本中没有这个,算是比较简便了

tensorflow有两个版本,一个针对2.7版本的python,另一个针对的是3.x版本的python,笔者这里采取的3.5版本的python(ubuntu16.04自带的系统)
安装步骤如下

1.先安装pip3

在一个装有python2和python3的系统中,pip针对于python2的安装,pip3则针对于python3的安装
终端输入sudo apt-get install python3-pip中间输入y,等待安装结束
更新pip和pip3到最新版本,在终端先后输入:

sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip

期间如果报错再试一次应该就可以了
在这里插入图片描述

2.直接安装tensorflow

终端输入:

sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.14.0

笔者这里下载的是1.14.0版本的,因为笔者发现其他版本用起来会有问题,1.14.0直接用就行了!!!
接着会安装几个tensorflow的功能包,这里只需要等待,如果中间出现红字报错在尝试执行一遍命令!

在这里插入图片描述
看到这些也算是基本安装完成了!!

3.测试是否完成

在终端输入python3.5,注意如果输入python的话打开的是默认的python2.7
输入

import tensorflow as tf

在这里插入图片描述
出现这个的话就代表着安装基本差不多了,这里跳出的不是error,而是一些变量声明之类的,比较麻烦的事这些日志会一直出现,导致使用时的感觉不是太好!!!

接下来在桌面新建test.py文件:

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
 
plotdata = {"batchsize":[], "loss":[]}
 
def moving_average(a, w=10):
    if len(a)<w:
        return a[:]
    return [val if idx < w else sum(a[(idx-w):idx])/w for idx, val in enumerate(a)]
 
#  模拟数据
train_X = np.linspace(-1, 1, 100)
train_Y = 2*train_X + np.random.randn(*train_X.shape)*0.3  # 加入了噪声
 
# 图形展示
plt.plot(train_X,train_Y,'ro',label="original data") # label数据标签
plt.legend()
plt.show()
 
tf.reset_default_graph()  # 重置会话
 
# 创建模型
# 占位符
X = tf.placeholder("float")
Y = tf.placeholder("float")
# 模型参数
W = tf.Variable(tf.random_normal([1]), name="weight")
b = tf.Variable(tf.zeros([1]), name="bias")
 
# 前向结构
z = tf.multiply(X, W) +b
 
# 反向优化
cost = tf.reduce_mean(tf.square(Y-z))
learning_rate = 0.01
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)
 
# 初始化变量
init = tf.global_variables_initializer()
# 参数设置
training_epochs = 20
display_step = 2
saver = tf.train.Saver() # 模型生成,并保存
savedir = "log/"
 
# 启动session
with tf.Session() as sess:
    sess.run(init)
 
    for epoch in range(training_epochs):
        for (x, y) in zip(train_X,train_Y):
            sess.run(optimizer, feed_dict={X:x, Y:y})
 
        # 显示训练中的详细信息
        if epoch % display_step == 0:
            loss = sess.run(cost, feed_dict={X:train_X, Y:train_Y})
            print("Epoch:",epoch+1,"cost=", loss,"W=",sess.run(W),"b=",sess.run(b))
            if not (loss=="NA"):
                plotdata["batchsize"].append(epoch)
                plotdata["loss"].append(loss)
 
        print("finished!")
        saver.save(sess, savedir+"linermodel.cpkt")
        print("cost=",sess.run(cost, feed_dict={X:train_X, Y:train_Y}),"W=", sess.run(W),"b=",sess.run(b))
 
        # 图形显示
        plt.plot(train_X, train_Y, 'ro', label='Original data')
        plt.plot(train_X, sess.run(W) * train_X + sess.run(b), label='Fitted line')
        plt.legend()
        plt.show()
 
        plotdata["avgloss"] = moving_average(plotdata["loss"])
        plt.figure(1)
        plt.subplot(211)
        plt.plot(plotdata["batchsize"], plotdata["avgloss"], 'b--')
        plt.xlabel('Minibatch number')
        plt.ylabel('Loss')
        plt.title('Minibatch run vs. Training loss')
        plt.show()

在运行这个文件之前,需要先下载这个程序中用到的一些库:

sudo apt-get install python3-tk
sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

当然用得到库不止这两个,用到不同的模块都有一些库,可以按需求下载
最后是运行:

cd Desktop/
python3.5 test.py

在这里插入图片描述
基本页面如图,到这里就说明安装基本能用了

**

最后说明,笔者这里是为了方便学习安装的1.14.0,目前得版本已经到了2.1.0;到后来还是要升级的!!!!

**

发布了10 篇原创文章 · 获赞 14 · 访问量 5476

猜你喜欢

转载自blog.csdn.net/qq_43725844/article/details/104882086
今日推荐