P79 自实现一个线性回归
https://www.bilibili.com/video/BV184411Q7Ng?p=79
代码示例:
""" 写一个线性回归 运用分布式计算机集群进行训练 即:运用多台计算机的cpu和gpu进行参数保存、模型训练和预测 """ import tensorflow as tf """ 定义一个命令行参数 """ FLAGS=tf.app.flags.FLAGS tf.app.flags.DEFINE_string("job_name","",'启动服务的类型:ps or worker') tf.app.flags.DEFINE_integer("task_index",0,'指定ps或者worker当中的哪一台服务器以task:0,task:1') def main(argv): """ 定义全局技术的op,给钩子列表当中的训练步数使用 """ global_step = tf.train.get_or_create_global_step() """ 指定集群描述对象,哪些用于ps(parameter server),哪些用于worker server ps是参数服务器,后面是ip地址和端口号,端口号随便写的数字, worker 是计算服务器,后面跟的是电脑的网络ip地址和端口号,端口号随便写的数字 返回一个集群对象 """ cluster=tf.train.ClusterSpec({"ps":["192.168.1.100:2223"], "worker":["192.168.1.101:2222"]}) """ 创建不同的服务,ps,worker 返回一个服务 """ server=tf.train.Server(cluster,job_name=FLAGS.job_name,task_index=FLAGS.task_index) """ 根据不同的服务做不同的事情 ps:去更新保存参数 worker:指定设备去运行模型计算 """ if FLAGS.job_name=="ps": """ 参数服务器什么都不用做,只需要等待worker传递参数就行 """ server.join() else: """ 可以指定设备去运行 可以用cpu或者gpu设备去运行训练的工作 在指定设备的上下文环境进行运算训练,上下文环境是指:with... """ worker_device="/job:worker/task:0/cpu:0/" with tf.device(tf.train.replica_device_setter( worker_device=worker_device, cluster=cluster )): """ 简单做一个矩阵乘法的运算 x是一个1行4列的矩阵 w是一个4行1列的矩阵 """ x=tf.Variable([[1,2,3,4]]) w=tf.Variable([[2],[2],[2],[2]]) mat=tf.matmul(x,w) """ 创建分布式会话 """ with tf.train.MonitoredTrainingSession( master="grpc://192.168.1.101:2222",#指定主worker is_chief=(FLAGS.task_index==0),#判断是否是主worker config=tf.ConfigProto(log_device_placement=True),#打印设备信息 hooks=[tf.train.StopAtStepHook(last_step=200)]#指定运行200次 ) as mon_sess: while not mon_sess.should_stop(): mon_sess.run(mat) if __name__=="__main__": """ tf.app.run() 默认调用main()函数 """ tf.app.run()
运行结果:
注解:
- 这段程序的结果是在dell工作站上运行出来的。
- 开启参数服务器:.....2333,这个代表的是用于更新和保存参数的联想笔记本工作注解:
注解:
- 初始化工作服务器:.....2222,这个代表的是用于更新和保存参数的联想笔记本工作站。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2019-12-27 40篇英语短文搞定3500个单词
2019-12-27 python浮点数与整数间的转化
2018-12-27 python_opencv库的学习
2018-12-27 python中用opencv读取并显示图片