1、安装pip(这些是tensorflow的依赖包,需要先下载)
yum update -y && yum install -y python python-devel epel-release.noarch python-pip
2、上图显示pip没有成功安装,接下来採用以下的方法:
yum -y install python-pip
3、完毕后记得清除缓存:yum clean all
4、安装tensorflow
https://blog.csdn.net/jorg_zhao/article/details/80075293(建议看一下这个博客),当我们直接用 pip install tensorflow这个命令的话,会发现下载及其缓慢,非常浪费时间,这是因为它是直接从外网下载的,所以慢。我们可以通过国内的镜像网站来下载,这样很快,而且不容易出问题(因为国外网站下载速度缓慢,所以可能会报超时错误)。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow # for Python 2.*
这里你可能会问,为什么tensorflow还分GPU,和CPU版呢?我只能说硬件的好坏直接影响你神经网络跑的速度,如果是在自己电脑上就用CPU版的,如果是在集群上装,则一般是GPU版的。安装GPU版的会有些麻烦。
5、安装完如果出现successfull的字样说明你安装成功了,祝贺你!!!
6、验证一下吧这个网上有好多验证代码,随便试一下就行
(注意,如果你现在不是在上面这个路径下,import tensorflow会出问题,换句话说你所在的路径对import tensorflow来说很重要),如果不是这个路径则 cd 后面什么也不加 ,就能进入这个目录,之后就能导入了。
。。。。。。。。。。。。。。。。。。。。
https://blog.csdn.net/u010159842/article/details/58605865(参考这个人的博客)
1、新建三个.py文件分别写入代码
第一个命名为worker1.py,代码如下
import tensorflow as tf
worker1 = "192.168.157.130:2222"
worker2 = "192.168.157.130:2223"
worker_hosts = [worker1, worker2]
cluster_spec = tf.train.ClusterSpec({ "worker": worker_hosts})
server = tf.train.Server(cluster_spec, job_name="worker", task_index=0)
server.join()
第二个命名为worker2.py,代码如下
import tensorflow as tf
worker1 = "192.168.157.130:2222"
worker2 = "192.168.157.130:2223"
worker_hosts = [worker1, worker2]
cluster_spec = tf.train.ClusterSpec({ "worker": worker_hosts})
server = tf.train.Server(cluster_spec, job_name="worker", task_index=1)
server.join()
第三个命名为client.py,代码如下
import tensorflow as tf
import numpy as np
train_x = np.linspace(-1,1,101)
train_y = 2*train_x + np.random.randn(*train_x.shape)*0.33+10
x = tf.placeholder("float")
y = tf.placeholder("float")
w = tf.Variable(0.0,name="weight")
b = tf.Variable(0.0,name="reminder")
init_op = tf.global_variables_initializer()
cost_op = tf.square(y-tf.multiply(x,w)-b)
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(cost_op)
with tf.Session("grpc://localhost:2222") as sess:
with tf.device("/job:worker/task:0"):
sess.run(init_op)
for i in range(10):
for (c,d) in zip(train_x,train_y):
sess.run(train_op,feed_dict={x:c,y:d})
print(sess.run(w))
print(sess.run(b))
2、(关键)打开三个终端(terminal),打开三个idle,打开三个.py文件,运行三个.py文件
a、打开一个终端,输入idle
b、在idle中点击file,点击open,找到自己的worker1.py文件,打开
c、点击run,run module,运行文件,
再terminal中显示这样一句话。
d、再开启一个terminal(重要)
在上一个terminal中点击 文件,点击 打开终端,输入idle(可能要切换到root下),点击file,open,打开worker2.py,运行。
显示这样一句话。
e、最后同理,运行client.py文件
在第三个idle中显示这样两个数字,则说明分布式演示成功。
a、现在我们是在一台电脑上模拟分布式系统,我还没在两台电脑上模拟分布式呢,明天再说吧,今天就是把最近工作总结一下。
b、在两台上模拟的话就是把文件分别写在不同的电脑上,并把文件中的ip地址改一下,不过不知道还会不会出现新的问题(我想肯定会出现的!!!)
c、最后谢谢大家的观看。
d、有关tensorflow分布式的方法,我怎么在官网没看到呢?希望知道的跟我说一下,感激不尽!!!