python
文章平均质量分 88
ERROR_LESS
给岁月以文明,而不是给文明以岁月!
展开
-
tensorboard可视化工具最简单使用示例(tf2.6:上手就会)
实验环境:tf2.6,对应的keras为2.6.0使用情境:最简单的在使用,十分简单。参考文档为官方文档~运行结果:并在当前目录下生成日志文件夹:教程是在终端执行以下命令:,但这好像是在linux系统中的命令,笔者使用的是window系统进行学习。因此可直接手动删除logs日志文件夹。如果不删除,也不会报错,将会同时将两次日志弄到一个图中。tensorboard中的情况:可以筛选查看~......原创 2022-07-13 21:21:39 · 782 阅读 · 2 评论 -
tensorboard使用界面介绍以及使用方法(看这篇就够了,都有源码可以直接测试)
参考文档机器学习总是涉及理解关键指标,例如损失(loss),以及它们如何随着训练的进行而变化。例如,这些指标可以帮助您了解模型是否过拟合,或者是否不必要地训练了太长时间。您可能需要比较不同训练中的这些指标,以帮助调试和改善模型。重新训练回归模型并记录自定义学习率。使用创建文件编写器。定义自定义学习率函数。这将传递给Keras回调。在学习率函数内部,使用记录自定义学习率。将回调传递给Model.fit()。#!"""运行后发现log里边多了一个metrics参考文档使用可视化层权重。...原创 2022-07-14 19:57:58 · 3246 阅读 · 0 评论 -
tensorflow2.x 数据集相关知识和操作
首先需要安装一个独立的Python包提供支持:导入mnist数据集示例:说明:返回的是一个类型的对象,由一些列的可迭代访问的元素(element)组成,每个元素包含一个或多个张量。比如说,对于一个由图像组成的数据集,每个元素可以是一个形状为 的图片张量,也可以是由图片张量和图片标签张量组成的元组(Tuple)。方法。具体而言,如果我们的数据集中的所有元素通过张量的第 0 维,拼接成一个大的张量(例如,前节的 MNIST 数据集的训练集即为一个 的张量,表示了 60000 张 28*28 的单通道灰原创 2022-07-12 16:00:44 · 937 阅读 · 0 评论 -
ParameterServerStrategy 中分布式数据集创建和输入相关问题
由于ParameterServerStrategy策略,会在各个ps上进行创建变量,因此涉及到变量分片、分布式数据集创建和输入的问题,本文主要对以下官方文档进行研读,以期能够完成对自己demo的特定化修改。由于ParameterServerStrategy必须用到,因此重点研读!我暂时理解它为一种数据集类型。学习过程中看到这篇文档,里边提到了如何使用加载数组,感觉我的demo结合这个可以很好地符合ps策略里边示例的形式。了解的不深,先mark下来。假设您有一个示例数组和相应的标签数组,请将两个数组作为元组传原创 2022-07-08 11:05:46 · 393 阅读 · 0 评论 -
‘tf.distribute.experimental.ParameterServerStrategy‘官方文档取之我用
由于对ps策略具体原理不甚了解,导致编程后运行出错,分析应该是分布式数据集构建和输入时出现了错误,故对此文档进行翻译并着重理解自己需要的部分。官方文档参考链接也称作,但实际上实践后,tf2.4版本并不支持,不知道更高版本是否支持没有试过(截止目前已经是tf2.9版本了)。是一种常用的数据并行方法,用以将模型训练扩展到多台机器上。一个参数服务器训练集群包括和。变量在上被创建,并且在训练的每一步中都被读取和更新。默认情况下,之间不同步地独立地进行读取和更新变量。这也是为什么被称为异步训练的原因。在tf2.x中,原创 2022-07-07 15:01:25 · 424 阅读 · 0 评论 -
‘Parameter server training with ParameterServerStrategy‘官方文档翻译及个人理解
由于目前全网很少关于的实践,而官网分布式训练模块就这一篇文章没有翻译,读者读起来很费劲。而使用机翻经常乱七八糟,因此笔者决定在尊重官网原文的准则下自己来翻译,并偶尔给出自己的思考。官方文档地址是一种常用的数据并行方法,用以将模型训练扩展到多台机器上。一个参数服务器训练集群包括和。变量在上被创建,并且在训练的每一步中都被读取和更新。默认情况下,之间不同步地独立地进行读取和更新变量。这也是为什么被称为异步训练的原因。在tf2中,被tf.distribute.ParameterServerStrategy这个A原创 2022-07-04 19:22:21 · 489 阅读 · 0 评论 -
Tensorflow ParameterServerStrategy Training实战
基于前面的基础知识积累,废话不多说,直接实战~参考github项目前文使用Docker准备了5个相关开发环境,刚好来试试。项目源代码如下:1.2 转换代码在本地运行代码需要转换为文件主要是一下转换:需要注释掉jupyter文件中转换后的魔法函数,否则直接运行会出现以下错误1.3.2 但后续代码中仍然会用到解决:代码中加入,一般会报错找不到,直接安装即可:这个问题暂时解决报错:1.3.5 解决方法太多类似的import问题和找不到包的问题,很可能是版本的问题。但不可能重新配置开发环境原创 2022-06-22 16:28:16 · 684 阅读 · 0 评论 -
Tensorflow ParameterServerStrategy Training知识学习记录
前面部分很多只是笔者学习知识记录的部分并且会随着学习的深入不段增加知识,没有什么参考价值,实战部分或许更有借鉴意义。官方文档参考学习到的知识及需要学习的知识:异步训练支持keras高阶API和自定义训练(实验需要,目前只学习keras)和两个概念需要明确集群中的三个角色的分工需要了解:、、是什么?为什么需要这个东西?是什么?为什么需要这个东西?评估如何实现?官方示例需要创建2个ps服务器和3个worker服务器每个worker上支持调用多个GPU但需要保证所有worker上的GPU数目是一致的。成为分片,原创 2022-06-17 20:16:19 · 315 阅读 · 0 评论 -
分布式策略进行多GPU分布式训练(含源码可以直接测试)
笔者前一篇文章提到多GPU的使用可以有手动设置和分布式机制两种,并对手动设置进行训练做了实验和总结。这一篇笔者就来利用分布式策略进行多GPU分布式训练的实验和总结,希望对读者有所裨益~笔者搭建的开发环境是tensorflow-gpu版本的,具体可见这篇文章。tensorflow支持的分布式策略可见官方文档,或者略看一下笔者之前学习总结的文章。现在,万事俱备,咱就直接实战。首先,需要做一个单机单卡实验作为对照组,以体现后续分布式训练对训练速度的提升。1.0.2 运行测试1.0.3 结果分析观察运行输出原创 2022-06-15 18:25:54 · 926 阅读 · 2 评论 -
分布式训练的GPU设置与分配(含源码可以直接测试)
:输出日志信息,包含任务的布置情况 :自动指定设备布置任务 :设置可见设备,例如机器上有4个GPU,但设置只对一个GPU可见,则该进程无法访问其他设备 :获取所有物理设备(整块) :建立逻辑分区 :获取所有逻辑设备(分块) :设置内存自增长,需在程序开始的时候就被设置因此,本机有两块物理GPU先做一个默认gpu设置的实验,作为对照组。基础代码:容器内进行训练:默认情况下,此demo每步运行花费6ms。查看GPU占用情况:发现仅仅这一个进程就几乎占满GPU,对资源浪费十分严重。因此,进行原创 2022-06-13 22:03:27 · 2016 阅读 · 3 评论 -
基于Docker配置的tensorflow-gpu环境进行分布式训练
本文基于ubuntu18.04中基于Docker搭建tensorflow-gpu开发环境这篇文章中构建好的tensorflow-gpu环境进行开发。如果觉得有用,测试demo可以找我要,希望能帮助到大家。添加一行:4 重启ssh服务:5 宿主机上连接::此处端口是之前宿主机映射到容器的端口,详细见我上篇文章。6 将添加ssh功能的容器打包成一个镜像,在这篇文章的基础上。2 查看每个Docker容器的ip信息3 宿主机端口和docker容器端口映射3.0 端口映射相关知识基础参考链接TC原创 2022-06-10 16:43:51 · 998 阅读 · 0 评论 -
ubuntu18.04中基于Docker搭建tensorflow-gpu开发环境
前提条件就不多提啦,首先得装好nvidia驱动和Docker19以上版本,网上有很多教程。deepo是一个囊括几乎所有深度学习框架的开源镜像,这里我们选择拉取一个tensorflow-gpu版本的,避免占用储存过大。多方查找原因无法解决,决定尝试另一种方法需要注意,选择的cuda版本需要满足宿主机的显卡驱动需求:官网宿主机的驱动版本为,因此选用11.0的即可拉取镜像官方地址这里选择,复制命令:镜像比较大,需要耐心等待,拉取中~拉取完成:2 通过镜像建立容器通过以下指令:说明::以交互模型运原创 2022-06-07 18:15:06 · 1151 阅读 · 0 评论 -
tensorflow & keras 学习(官方文档)
tensorflow learning0 语句积累篇# 查看是否启用eager execution,若启用则返回Truetf.executing_eagerly()# 矩阵相乘m = tf.matmul(x, x)# 矩阵对应位置元素相乘c = np.multiply(a, b)# 创建常量a = tf.constant([[1, 2], [3, 4]])# 定义变量并初始化为[1.0]w = tf.Variable([[1.0]])# 在原创 2022-04-11 14:20:19 · 1246 阅读 · 0 评论 -
multi_worker分布式tensorflow训练出现的问题
1 版本不适配问题预装的tensorflow版本是1.0+版本不够,最后选的2.6版本cuda是11.5keras也是2.6numpy是1.192 查看不到cuda和cudnn原指令是:# 查看cudacat /usr/local/cuda/version.txt# 查看cudnncat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2因最新版本的version.txt和 cudnn.h文件均不存在了故最新指令是:#原创 2022-03-28 13:50:02 · 2462 阅读 · 1 评论 -
python+flask学习
0 前言flask中文官网轻量级后端框架学习内容:flask路由 用来匹配urlrequest对象 abort函数模板flask数据库 使用插件表单 (账号密码提交等操作)ajax管理系统小案例1 最简单的应用-helloworldflask官网参考from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world(): return 'Hello, World!'if __n原创 2022-01-12 17:38:43 · 817 阅读 · 1 评论 -
ubuntu18.04本地搭建tensorflow-gpu环境
0 前提须保证ubuntu本机已经安装gcc和nvidia gpu 驱动须安装好对应版本的cuda和cudnn安装anaconda3说明:这些我都之前安装过了,可以参考我之前的博客1 安装0 检查条件root@master:/home/hqc# nvidia-smi Tue Dec 21 17:31:19 2021 +-----------------------------------------------------------------------------+原创 2021-12-21 18:35:16 · 626 阅读 · 0 评论 -
ubuntu18.04配置deepo深度学习环境(cuda + cudnn + nvidia-docker + deepo)--超级细致,并把遇到的错误和所有解决方案都列出来了
ubuntu18.04配置deepo深度学习环境(cuda + cudnn + nvidia-docker + deepo)--超级细致,并把遇到的错误和所有解决方案都列出来了原创 2021-12-17 11:17:07 · 5374 阅读 · 0 评论 -
dockerfile构建一个(python+flask+html)镜像 + 上传到阿里云私有仓库 + 部署到k8s---全过程
0 第一次构建# 创建项目文件夹root@master:/home/hqc/docker_learning# mkdir plus-of-arrays# 创建模板文件夹用于存放html文件root@master:/home/hqc/docker_learning/plus-of-arrays# mkdir templates# 编写html文件root@master:/home/hqc/docker_learning/plus-of-arrays# vim plus.html <!D原创 2021-12-13 19:46:51 · 2556 阅读 · 0 评论 -
ubuntu配置python环境(python3+anaconda3+pycharm+pip3+flask框架)
1 更改默认python版本为python3ubuntu自带的是python2.7.17下载最新版python3但是python默认指向仍为python2.7.17查看指向:ls -l /usr/bin | grep python须更改指向:# 删除原链接root@master:/home/hqc# rm /usr/bin/python# 更改指向为3.6root@master:/home/hqc# ln -s /usr/bin/python3.6 /usr/bin/python原创 2021-12-07 10:52:22 · 810 阅读 · 0 评论