为了获得更加稳健的深度学习训练模型,一些庞大的训练在个人电脑上无法实现,本文主要以在LiCO中实现tensorflow训练模型为例,为读者提供参考,若文档中存在错误,请读者提出宝贵的意见。

文章目录

  • 一、在ubuntu中下载docker 

    二、利用docker下载镜像

    三、构造自己的容器

    四、修改容器名,生成镜像

    五、发布自定义镜像

    六、在LiCO中下载镜像

    七、实现深度学习模型训练

提示:以下是本篇文章正文内容,下面案例可供参考

一、在ubuntu中下载docker :https://blog.csdn.net/qq_40663357/article/details/83307338

一、下载

1、 安装docker的apt源

apt-get install apt-transport-https ca-certificates curl software-properties-common

2 、添加docker官方的GPG

curl -s https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

3 、添加docker的源。如果没有docker.list则自己创建一个

cd /etc/apt/sources.list.d
vim docker.list

清空原文件,加入以下内容

deb https://get.docker.io/ubuntu docker main

二、安装

1、 安装docker

apt install docker.io

2、 查看docker的版本:

docker version

 

二、利用docker下载镜像

1.查看当前docker镜像

sudo docker images

显示所有存在的镜像

2.下载镜像

进入Docker Hub网页:https://hub.docker.com/

在搜索框中输出自己需要的基础镜像,例如:tensorflow

点击右下角Docker Pull Command中命令的复制,将其复制到ubuntu下的命令行中;也可以通过点击Tag在其中寻找自己想要的不同版本。

下载完成后查看当前存在的镜像信息

docker images

此时发现tensorflow/tensorflow:latest镜像就下载好了

三、构造自己的容器

1.进入tensorflow/tensorflow镜像

docker run -it tensorflow/tensorflow:latest /bin/bash

注:记住5e7ae5f8288d这个容器名称

2.在原始容器中添加自己的模块,例如:在容器中安装opencv-python

pip3 install opencv-python

此时5e7ae5f8288d容器中就加入了我们需要的模块

四、修改容器名,生成镜像

1.显示所有正在运行的容器

docker ps -a

可以发现 5e7ae5f8288d容器就是自定义模块的tensorflow/tensorflow容器

2.要将自定义的容器保存为镜像

docker commit 5e7ae5f8288d 1160966815/tensorflow1:latest

其中5e7ae5f8288d为容器名,1160966815/tensorflow1:latest为自定义的名称

注:自定义的名称要按照Docker  Hub自己的账号名称对应,我的账号名称是1160966815,因此设置为1160966815/tensorflow1:latest(之后会讲到为什么这样操作)。

五、发布自定义镜像:https://www.cnblogs.com/fanqisoft/p/11315392.html

⒈在Docker Hub(Docker官方镜像仓库)注册自己的用户名。

⒉在Docker中使用docker login命令登录自己的用户名密码。

(首次登陆需要自己的用户名密码)

⒊使用docker push 镜像名称 上传本地镜像到镜像仓库

docker push 镜像名称

例如:

docker push 1160966815/tensorflow1

此时在Docker Hub中就能够找到自己发布的镜像了:

六、在LiCO中下载镜像

LiCO服务器登陆网址

登陆LiCO之后进入专家模式:

在专家模式命令行中下载之前发布的tensorflow镜像:

singularity build tensorflow.sif docker://1160966815/tensorflow1 

(其中tensorflow.sif为自命名文件)

此时镜像已下载好,可以在文件管理中查看

tensorflow.sif文件即为刚下载的镜像文件

七、实现深度学习模型训练

1.上传训练文件

进入文件管理,点击右键,Upload files进行本地文件上传。

2.开始训练

进入提交作业,选择General-Common Job——点击使用——自定义作业名称——选择自己的工作目录——填写运行脚本

运行脚本:(第一个路径为镜像所在的路径,第二个路径为自己的运行代码所在的路径,python代表的意思是:运行的文件为py文件)

根据自己的需求选择资源选项,点击提交,即可开始训练。

参考链接

在ubuntu中下载docker :https://blog.csdn.net/qq_40663357/article/details/83307338
        进入Docker Hub网页:https://hub.docker.com/
        发布自定义镜像:https://www.cnblogs.com/fanqisoft/p/11315392.html

在LiCO中实现模型训练相关推荐

  1. 推荐系统实战中LR模型训练(二)

    背景: 上一篇推荐系统实战中LR模型训练(一) 中完成了LR模型训练的代码部分.本文中将详细讲解数据准备部分,即将文本数据数值化为稀疏矩阵的形式. 文本数据: 稀疏矩阵: 实现过程: 文本数据格式如下 ...

  2. 推荐系统实战中LR模型训练(一)

    背景: 在"批量导入数据到Redis" 中已经介绍了将得到的itema item1:score1,item2:score2-批量导入到Redis数据库中.本文的工作是运用机器学习L ...

  3. gpu处理信号_在PyTorch中使用DistributedDataParallel进行多GPU分布式模型训练

    先进的深度学习模型参数正以指数级速度增长:去年的GPT-2有大约7.5亿个参数,今年的GPT-3有1750亿个参数.虽然GPT是一个比较极端的例子但是各种SOTA模型正在推动越来越大的模型进入生产应用 ...

  4. 利用多 GPU 加速深度学习模型训练

    01 - 前言 深度学习模型通常使用 GPU 训练,因为 GPU 具有相比 CPU 更高的计算能力,以 Tesla V100 为例,使用 Tensor Core 加速的半精度浮点计算能力达到 125 ...

  5. MLOps极致细节:17. Azure ML Pipeline(机器学习管道),模型训练,打包和注册

    MLOps极致细节:17. Azure ML Pipeline(机器学习管道),模型训练,打包和注册 这两个章节中,我们将介绍Azure ML Pipeline的使用,并且结合MLFlow一起跟踪ML ...

  6. FCN模型训练中遇到的困难

    FCN模型训练中遇到的困难 标签: 深度学习FCN神经网络caffe 2017-02-24 10:54 2675人阅读 评论(6) 收藏 举报  分类: 深度学习(18)  版权声明:本文为博主原创文 ...

  7. ML之FE:在模型训练中,仅需两行代码实现切分训练集和测试集并分离特征与标签

    ML之FE:在模型训练中,仅需两行代码实现切分训练集和测试集并分离特征与标签 目录 仅需两行代码实现切分训练集和测试集并分离特征与标签 输出结果 实习代码 仅需两行代码实现切分训练集和测试集并分离特征 ...

  8. java opennlp_OpenNLP中语言检测模型训练和模型的使用

    因为项目的原因,需要使用到NLP的相关技术.语言检测模型cld3是python要与项目集成也不太方便,后来找到OpenNLP,发现它相对来说,对于亚洲的语言有一些支持. 下面是OpenNLP的训练相关 ...

  9. 【Pytorch神经网络理论篇】 24 神经网络中散度的应用:F散度+f-GAN的实现+互信息神经估计+GAN模型训练技巧

    1 散度在无监督学习中的应用 在神经网络的损失计算中,最大化和最小化两个数据分布间散度的方法,已经成为无监督模型中有效的训练方法之一. 在无监督模型训练中,不但可以使用K散度JS散度,而且可以使用其他 ...

最新文章

  1. Django博客系统(404页面展示)
  2. str 类常用的函数
  3. jQuery获取元素
  4. Leetcode题库 744.寻找比目标字母大的最小字母(C实现)
  5. windows下通过eclipse进行远程执行出错:Permission denied:
  6. strncpy与strcpy的区别与注意事项
  7. 使用Pycharm的一些错误
  8. java 鸡尾酒排序_Java实现几种常见排序方法
  9. 前端遇到瓶颈了怎么办?
  10. 前端开发工具介绍----合成雪碧图工具(css sprite)
  11. python读取us7ascii字符集Oracle数据库中文乱码问题的解决方案
  12. 计算机专业知识笔记,事业单位计算机专业知识重点笔记
  13. 呼叫中心几种常见质检方式的对比
  14. paip.python错误解决20
  15. pip可识别的requirements.txt的写法
  16. 图像处理之底片效果、黑白效果、浮雕效果
  17. STM32的存储器与寄存器
  18. java wav合并_java – 如何将两个wav文件合并/合并到一个wav文件中?
  19. Windows系统复制文件到虚拟机Linux环境的解决
  20. yarn WEB UI及reserved memory、spark WEB UI

热门文章

  1. java动态图片_Java之简单的图片动态显示(实现类似GIF动画效果)
  2. 【Java容器】Java容器入门教程
  3. python静态代码检查
  4. STP协议 与 STP树的生成
  5. top介绍RES与VIRT区别
  6. Java中 9 种常见的 CMS GC 问题分析与解决
  7. 从工控网络安全攻击中学习的经验
  8. .Net Core环境搭建Hangfire项目
  9. Hadoop完全分布式集群总结
  10. CentOS 8.1安装MySQL 8.0详解