当前位置: 首页 > news >正文

JupyterHub实战应用

一、JupyerHub

jupyter notebook 是一个非常有用的工具,我们可以在浏览器中任意编辑调试我们的python代码,并且支持markdown 语法,可以说是科研利器。但是这种情况适合个人使用,也就是jupyter notebook以我们自己的主机作为服务器,然后我们用自己的浏览器编辑自己本机的python代码。

最近公司搭建了业务模型的服务器,每个人都有一个用户可以使用GPU资源,但是每次写代码要在本地调试好了然后再ssh提交到服务器运行,如果有问题,还要再在本地更改然后再次提交,非常的麻烦。为了解决这个烦恼,我们在GPU服务器上搭建了jupyterhub, 它和notebook不同之处在于它是一个hub,哈哈,也就是notebook的服务器,把它装在服务器上,然后大家可以通过局域网在浏览器上进行python代码的编辑和调试。

jupyterhub 和 jupyter notebook一样是python的一个包,可以通过pip安装,也可以通过 conda安装,在服务器端安装就可以供大家使用。

二、环境

确保你的服务器环境满足以下要求:

  • 一台运行支持的操作系统(如 Ubuntu、CentOS 等)的服务器
  • 安装了 Python 和 pip
  • 足够的系统资源(CPU、内存、磁盘空间)

1、Python环境

安装 Miniconda 是管理 Python 环境以及安装 Python 包的一个方便工具。
以下是在 CentOS 上安装 Miniconda 的步骤:

  1. 下载 Miniconda 安装包:

在终端中执行以下命令,下载适用于 CentOS 的 Miniconda 安装包(64 位):

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh或curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
  1. 运行安装脚本:

运行下载的脚本来安装 Miniconda。首先,给脚本执行权限:

chmod +x Miniconda3-latest-Linux-x86_64.sh

然后运行安装脚本:

./Miniconda3-latest-Linux-x86_64.sh

按照提示,阅读许可协议并同意。

  1. 配置 Miniconda:

安装过程中会提示你是否将 Miniconda 添加到 shell 的 PATH 中。选择 “yes”,这将允许你在终端中直接使用 conda 命令。

  1. 重启终端:

安装完成后,为了使配置生效,关闭当前终端窗口,然后重新打开一个新的终端。

5.测试安装:

在新的终端中,运行以下命令来验证 conda 是否已成功安装:

root@bt:/home/fengkong# conda --version
conda 23.5.0
  1. 安装插件补全
conda install -c conda-forge conda-bash-completion

备注:

3、配置环境变量:.bashrc
如果选择了init会自己配置
export PATH=~/miniconda3/bin:$PATH
3.5、卸载miniconda
找到miniconda3的文件夹,使用rm命令将它删除:
然后,用vim命令进入.bashrc文件,将conda的语句用#注释掉
最后,重新激活一下source .bashrc就可以了。

2、Jupyter Lab

安装 JupyterLab 非常简单,只需一行命令即可:

conda 安装 [Miniconda]
conda install -c conda-forge jupyterlab
or
pip 安装 pip install jupyterlab
  1. 注册环境
conda create -n python3_7 python=3.7 ipykernel
or 创建后 conda install ipykernel
  1. 环境添加到ipykernel
    (添加的是当前环境 需要先activate到需要环境)
python -m ipykernel install --user --name python3_7 --display-name "python3_7"
  1. 查看,删除注册到内核的环境
jupyter kernelspec list 查看
jupyter kernelspec remove python3_7 删除
conda remove -n py36 --all 删环境
  1. 配置文件
jupyter lab --generate-config 生成配置
c.ServerApp.ip = '*' 所有人访问
c.LabApp.open_browser = False 不再默认打开浏览器
jupyter lab password 修改密码
conda config --set auto_activate_base false 禁止自启环境打开这个`jupyterhub_config.py`
c.Spawner.default_url = '/lab'
c.JupyterHub.ip = '0.0.0.0'
  1. 安装插件
conda install nodejs
  1. 装中文
pip install jupyterlab-language-pack-zh-CN
  1. 启动
nohup jupyterhub -f  /opt/jupyterhub/jupyterhub_config.py &

在这里插入图片描述
在这里插入图片描述

3、关联系统的其它认证用户

用Root账户启动,才能关联系统的其它认证用户

平台环境基于jupyterhub+conda构建,默认环境是ubuntu账户下的conda环境,请勿用作开发环境,
请创建并使用自己的linux账户后,再自建环境使用

环境注册命令

环境名称 {python版本}{具体功用(看是否专用项目)}{使用人}
示例:python38_{xx模型}_long

> 注册环境:在创建环境的同时添加ipykernel核心
conda create -n python38_xxx python=3.8 ipykernel > 环境添加到ipykernel(操作前必须先激活进入对应环境)
conda activate python38_xxx
python -m ipykernel install --user --name python38_xxx --display-name "python38_xxx"内核注册异常处理
1、手动执行内核添加命令 如上: python -m ipykernel install --user --name python38_xxx --display-name "python38_xxx"
2、重启面板,File->HubControlPanel->stopMyServer&startMyServer
3、选择内核时可选中always start the preferred kernel,设置为默认内核环境

导入windows环境包

pip list --format=freeze > requirements.txt进入到需要安装的环境
conda activate python38_xxx  删除requirements.txt文件多余的包(conda自带或windows特有
类似:conda,clyent,distribute,pip,jupyter,setuptools,wheel .. 安装过程失败或卡住不动的包,建议删除后继再单独安装pip导入
python -m pip install -r requirements.txt

在这里插入图片描述

相关文章:

JupyterHub实战应用

一、JupyerHub jupyter notebook 是一个非常有用的工具,我们可以在浏览器中任意编辑调试我们的python代码,并且支持markdown 语法,可以说是科研利器。但是这种情况适合个人使用,也就是jupyter notebook以我们自己的主机作为服务器…...

【MySQL】视图

目录 一、什么是视图 二、视图的操作 2.1 创建视图 2.2 删除视图 三、视图规则和限制 一、什么是视图 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表(创建视图所…...

基于 Android 剧院购票APP的开发与设计

摘要:近年来,随着社会的发展和科技方面的创新,越来越多的人选择使用手机应用程序来购买剧场票。本文将探讨基于 Android 平台的剧院购票应用程序的开发和设计。该应用程序将为用户提供浏览剧场列表、查看剧场详情、选择座位并购买剧场票的功能…...

反转链表II

江湖一笑浪滔滔,红尘尽忘了 题目 示例 思路 链表这部分的题,不少都离不开单链表的反转,参考:反转一个单链表 这道题加上哨兵位的话会简单很多,如果不加的话,还需要分情况一下,像是从头节点开始…...

HTML 和 CSS 来实现毛玻璃效果(Glassmorphism)

毛玻璃效果简介 它的主要特征就是半透明的背景,以及阴影和边框。 同时还要为背景加上模糊效果,使得背景之后的元素根据自身内容产生漂亮的“变形”效果,示例: 代码实现 首先,创建一个 HTML 文件,写入如下…...

【技术】国标GB28181视频平台EasyGBS通过对应密钥上传到其他平台展示的详细步骤

国标GB28181协议视频平台EasyGBS是基于国标GB28181协议的视频云服务平台,支持多路设备同时接入,并对多平台、多终端分发出RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。平台可提供视频监控直播、云端录像、云存储、检索回放、智能告警、语音对讲、平台级…...

SpeedBI数据可视化工具:浏览器上做分析

SpeedBI数据分析云是一种在浏览器上进行数据可视化分析的工具,它能够将数据以可视化的形式呈现出来,并支持多种数据源和图表类型。 所有操作,均在浏览器上进行 在浏览器中打开SpeedBI数据分析云官网,点击【免费使用】进入&#…...

8.21笔记

Deeplab-MSc-LargrFOC 此图除了主输出之外,还有五个支线输出,他们池化层与VGG网络不同,其中卷积核大小是3,而VGG中卷积核大小为2(这个网络一开始是基于VGG网络提出的,因为那时候提出比较早,没有…...

MyBatis-Plus中公共字段的统一处理

数据库中一些表的公共字段,例如修改时间、修改人、创建时间、创建人,我们一般都是这样来处理的: employee.setCreateTime(LocalDateTime.now()); employee.setUpdateTime(LocalDateTime.now()); employee.setCreateUser(UserHolder.get()); …...

SQL的导出与导入

1、导入 使用命令行导入 1.登录sql界面; 2.create database Demo新建一个库; 3.选中数据库use Demo;选中导入路径source D:Demo.sql; 4.查看表show tables; 2、导出 整个sql mysqldump -u username -ppassword dbname > dbname.sq…...

记录一次wordpress项目的发布过程

背景:发布一套已完成的代码到线上,有完整的代码包,sql文件,环境是linux 宝塔。无wordpress相关经验。 过程:正常的发布代码 问题1:访问自己的域名后跳转到别的域名。 解决: 修改数据表wp_optio…...

HTML详解连载(8)

HTML详解连载(8) 专栏链接 [link](http://t.csdn.cn/xF0H3)下面进行专栏介绍 开始喽浮动-产品区域布局场景 解决方法清除浮动方法一:额外标签发方法二:单伪元素法方法三:双伪元素法方法四:overflow浮动-总结…...

Linux系统之安装OneNav个人书签管理器

Linux系统之安装OneNav个人书签管理器 一、OneNav介绍1.OneNav简介2.OneNav特点 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本3.3 检查本地yum仓库状态 四、安装httpd服务4.1 安装httpd4.2 启动httpd服务4…...

主程技术分享: 游戏项目帧同步,状态同步如何选

网络游戏开发项目中帧同步,状态同步如何选? 网络游戏的核心技术之一就是玩家的网络同步,主流的网络同步有”帧同步”与”状态同步”。今天我们来分析一下这两种同步模式。同时教大家如何在自己的项目中采用最合适的同步方式。接下来从以下3个方面来阐述: 对啦&…...

ChatGPT-4: 半年的深度使用思考

几个月的时间一直在使用 ChatGpt-4,以口述语音转文字的形式说一下自己的体会。 1、选择版本 大前提:我使用的都是 GPT4 的版本。也就是说至少每个月要付费20$。 因为 3.5 的版本,实际上使用体验是非常差的,主要体现在答非所问上。…...

【健康医疗】Axure用药提醒小程序原型图,健康管理用药助手原型模板

作品概况 页面数量:共 20 页 兼容软件:Axure RP 9/10,不支持低版本 应用领域:健康管理,用药助手 作品申明:页面内容仅用于功能演示,无实际功能 作品特色 本作品为「用药提醒」小程序原型图…...

ERROR in static/js/xxx.js from UglifyJs

老项目用的webpack3,打包的时候遇到**ERROR in static/js/xxx.js from UglifyJs**这个报错, UglifyJS是个包含JS解释器、代码最小化、压缩、美化的工具集,是前端开发打包的最常用工具之一,只支持ES5,不支持ES6&#x…...

阿里云ECS服务器安装PostgreSQL

1. 概述 PostgreSQL是一个功能强大的开源数据库,它支持丰富的数据类型和自定义类型,其提供了丰富的接口,可以自行扩展其功能,支持使用流行的编程语言编写自定义函数 PostgreSQL数据库有如下优势: PostgreSQL数据库时…...

【核磁共振成像】傅里叶重建

目录 一、傅里叶重建二、填零三、移相四、数据窗函数五、矩形视野六、多线圈数据重建七、图像变形校正八、缩放比例九、基线校准 长TR,长TE,是T2加权像; 短TR,短TE,是T1加权像; 长TR,短TE&#…...

Camunda 工作流节点跳转 - 多实例节点判断和跳转

在多种工作流引擎中,Camunda框架对流程的处理控制更为强大、灵活。 在应对流程节点按业务需要进行自由跨节点跳转的需求时,通过代码自由控制节点的跳转在Camunda中是支持的,并且提供了编码方法,其中多实例的处理上有一些区别要特…...

MySQL不停重启问题

MySQL不停的自动杀掉自动重启 看一下log日志 my.cnf 里配置的 log_error /var/log/mysqld.log vim /var/log/mysqld.log 报的错误只是 [ERROR] Cant start server: Bind on TCP/IP port: Address already in use [ERROR] Do you already have another mysqld server …...

ol-cesium 暴露 Cesium viewer 对象以及二三维切换、viewer 添加点功能示例

ol-cesium 暴露 Cesium viewer 对象以及二三维切换、viewer 添加点功能示例 核心代码完整代码在线示例 二三维一体化的概念一直都比较火热,虽然大多数都是狭义的概念,但是很多需求方也想要这样的功能。 Openlayers 官方出了一个二三维一体化的工具&…...

国产化-达梦数据库安装2

目录 DM8数据库下载地址 安装一路狂飙next 启动服务 随着国家政府的推广、越来越多的政府项目、在系统部署需要采购国产服务器、数据库等 DM8数据库下载地址 https://eco.dameng.com/download/ 安装一路狂飙next windos安装比较简单直接next即可 仅仅记录几个关键疑问地方k…...

延长OLED透明屏的使用寿命:关键因素与有效方法分享

OLED透明屏作为一项创新的显示技术,具备透明度和高清晰度的特点,在各个领域得到了广泛应用。 然而,为了确保OLED透明屏的持久性和稳定性,延长其使用寿命是至关重要的。根据最新的研究和数据报告, 在这篇文章中&#…...

域名是指哪一部分?

域名是指互联网中用于识别和定位网站的地址。它是由多个部分组成的,每个部分都具有特定的含义和功能。下面是有关域名各个部分的解释。 顶级域名(Top-Level Domain,TLD): 顶级域名是域名的最高级别部分,通常…...

MPP 还是主流架构吗

MPP 架构: MPP 架构的产品: Impala ClickHouse Druid Doris 很多 OLAP 引擎都采用了 MPP 架构 批处理系统 - 使用场景分钟级、小时级以上的任务,目前很多大型互联网公司都大规模运行这样的系统,稳定可靠,低成本。…...

ubuntu查看网速

使用speedomster测试网速 sudo apt-get install speedometer 查询需要测速的网卡 speedometer -r ens33 -t ens33 -r: 指定网卡的接收速度 -t: 指定网卡的发送速度 使用nload测试 sudo apt-get install nload 测速 nload -t 200 -i 1024 -o 128 -U M 参数含义&#xff0…...

【官方中文文档】Mybatis-Spring #使用 MyBatis API

使用 MyBatis API 使用 MyBatis-Spring,你可以继续直接使用 MyBatis 的 API。只需简单地使用 SqlSessionFactoryBean 在 Spring 中创建一个 SqlSessionFactory,然后按你的方式在代码中使用工厂即可。 public class UserDaoImpl implements UserDao {//…...

go gorm belong to也就是多对一的情况

多位员工属于同一个公司,一个公司包含多个人,关系放在多的那一部分 belongs to 会与另一个模型建立了一对一的连接。 这种模型的每一个实例都“属于”另一个模型的一个实例。 例如,您的应用包含 user 和 company,并且每个 user 能…...

亚马逊云科技 云技能孵化营——机器学习心得

亚马逊云科技 云技能孵化营机器学习心得 前言什么是机器学习?机器学习如何解决业务问题?什么时候适合使用机器学习模型?总结 前言 很荣幸参加了本次亚马逊云科技云技能孵化营,再本期的《亚马逊云科技云技能孵化营》中&#xff0c…...

建手机号码的网站/网站权重优化

Batch、Epoch和IterationBatch(批次)Epoch(轮次)Iteration(迭代)在深度学习中,Batch、Epoch和Iteration是非常重要的概念,它们是训练模型时的三个基本单位。以下是它们的概念、区别和…...

wordpress 获取api/淘宝网店的seo主要是什么

【问题描述】对于一个栈,已知元素的进栈序列,判断一个由栈中所有元素组成的排列是否是可能的出栈序列。比如,进栈序列为1 2 3 4,则可能的出栈序列有4 3 2 1,1 4 3 2等。而1 4 2 3就不是。【输入形式】从标准输入读取第…...

西安网站建设 企业建站/网络推广 网站制作

P30 递归1.概述2.递归累加求和3.递归求阶乘4.递归打印多级目录系统:Win10 Java:1.8.0_333 IDEA:2020.3.4 1.概述 递归:指在当前方法内调用自己的这种现象 递归的分类:递归分别为两类:直接递归和间接递归  …...

权重高的发帖平台有哪些/成都排名seo公司

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我个人觉得第二个可能是因为内存不够的缘故,于是照着网上的办法弄了一个辅助布尔型数组来改进一下,然后就变成这样了……结果是2The total of the primes are: 1代码如下#include#include#define N 10000usi…...

如何在自己网站做解析api/新闻 近期大事件

java把内存划分为两种:栈内存和堆内存,堆和栈都是java用来在Ram中存放数据的地方。 一、简介: 应用程序所有的部分都是使用堆内存,然后栈内存通过一个线程运行起来。 java中进行函数调用中传递参数时,遵循的是值传递的…...

开网站做彩票赚钱吗/关键词搜索优化外包

关键词缩写全称注释单指令单数据流系统SISDsingle instruction single data即传统冯诺依曼结构单指令多数据流系统SIMDsingle instruction multiple data阵列处理器和向量处理器系统多指令单数据流系统MISDmultiple instruction single data不存在多指令多数据流系统MIMDmultip…...