一、完成端口映射并运行网页界面生成文件
1、JupyterLab:一个交互式的编程和教学环境,同时内置终端,可以很方便地查看文件,执行代码等。
2、终端(Terminal, 最轻量级):主要进行命令行操作,或者运行脚本和简单程序。
3、VSCode:网页中集成的VSCode,也可以在本地VSCode中通过SSH连接远程开发,下面就会讲如何配置远程连接。
4、端口映射技术:
端口映射是一种网络技术,它可以将外网中的任意端口映射到内网中的相应端口,实现内网与外网之间的通信。通过端口映射,可以在外网访问内网中的服务或应用,实现跨越网络的便捷通信。
使用SSH命令进行端口因映射:
现在实战课程需要建立一个python文件进行演示操作:
import socket
import re
import gradio as gr
# 获取主机名
def get_hostname():
hostname = socket.gethostname()
match = re.search(r'-(\d+)$', hostname)
name = match.group(1)
return name
# 创建 Gradio 界面
with gr.Blocks(gr.themes.Soft()) as demo:
html_code = f"""
<p align="center">
<a href="https://intern-ai.org.cn/home">
<img src="https://intern-ai.org.cn/assets/headerLogo-4ea34f23.svg" alt="Logo" width="20%" style="border-radius: 5px;">
</a>
</p>
<h1 style="text-align: center;">☁️ Welcome {get_hostname()} user, welcome to the ShuSheng LLM Practical Camp Course!</h1>
<h2 style="text-align: center;">😀 Let’s go on a journey through ShuSheng Island together.</h2>
<p align="center">
<a href="https://github.com/InternLM/Tutorial/blob/camp3">
<img src="https://oss.lingkongstudy.com.cn/blog/202406301604074.jpg" alt="Logo" width="20%" style="border-radius: 5px;">
</a>
</p>
"""
gr.Markdown(html_code)
demo.launch()
在运行代码之前,需要先使用下面的命令安装以下依赖包,
pip install gradio==4.29.0
然后在Web IDE的终端中运行了python代码,
python hello_world.py
如果我们进行端口的映射则无法使用本地的IP进行访问,就回出现错位并且在网页无法显示我们代码创建的内容。
ssh -p 37367 root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
将这段命令输入到powerShell中,黄色内容是自己根据SSH密钥更好的端口号。
显示我们端口映射成功,然后在网页中打开连接就可以看到web ui的界面了。使用vscode可以查看端口映射的情况,用“Ctrl+Shift+~”快捷键唤醒终端,在终端的右侧可以找到端口选项。以上的内容就是成功完成实战训练1当中:完成SSH连接与端口映射并运行python文件。
二、学习和使用基本Linux命令
1、在 Linux 中,常见的文件管理操作包括:
- 创建文件:可以使用
touch
命令创建空文件。 - 创建目录:使用
mkdir
命令。 - 目录切换:使用
cd
命令。 - 显示所在目录:使用
pwd
命令。 - 查看文件内容:如使用
cat
直接显示文件全部内容,more
和less
可以分页查看。 - 编辑文件:如
vi
或vim
等编辑器。 - 复制文件:用
cp
命令。 - 创建文件链接:用
ln
命令。 - 移动文件:通过
mv
命令。 - 删除文件:使用
rm
命令。 - 删除目录:
rmdir
(只能删除空目录)或rm -r
(可删除非空目录)。 - 查找文件:可以用
find
命令。 - 查看文件或目录的详细信息:使用
ls
命令,如使用ls -l
查看目录下文件的详细信息。 - 处理文件:进行复杂的文件操作,可以使用
sed
命令。
以下是关于指令的基本操作:
依次是:创见文件、创建目录、打开文件、cd ..是返回上上级(一个点是一级)
以下依次是关于cat的相关操作:
vi或者vim是进入编辑状态:进入编辑模式后,可以i方柏霓终端简单修改。
命令模式:
删除一行:dd; 复制一行:yy; 粘贴:p; 到首行:g; 到尾行:G; 不保存:zz;
末行模式:
保存退出(:wq);不保存退出(:q!);保存(:w);查找(/)
2、Linux系统常见的进程管理:系统监控和进程管控的重要工具。
- ps:查看正在运行的进程
- top:动态显示正在运行的进程
- pstree:树状查看正在运行的进程
- pgrep:用于查找进程
- nice:更改进程的优先级
- jobs:显示进程的相关信息
- bg 和 fg:将进程调入后台
- kill:杀死进程
下图是关于GPU信息的介绍:
3、任务3完成远程开发机创建conda环境
使用conda create -n name python=3.10
创建虚拟环境,这里表示创建了python版本为3.10、名字为name的虚拟环境。
创建虚拟环境的常用参数如下:
- -n 或 --name:指定要创建的环境名称。
- -c 或 --channel:指定额外的软件包通道。
- --clone:从现有的环境克隆来创建新环境。
- -p 或 --prefix:指定环境的安装路径(非默认位置)
查看有哪些虚拟环境:
conda env list
conda info -e
conda info --envs
激活环境:conda activate XX
退出激活:conda deactivate XX
name是自己设置环境的名字,从base进入name中,代表激活环境并进入。
conda和pip区别:
1、conda可以管理非python包,pip只能管理python包。
2、conda可以用来创建虚拟环境,pip不能,需要依赖virtualenv之类的包。
3、conda安装的包是编译好的二进制文件,安装包文件过程中会自动安装依赖包;pip安装的包是wheel或源码,装过程中不会去支持python语言之外的依赖项。