第三期书生大模型实战营 第1关 Linux 基础知识

第三期书生大模型实战营 第1关 Linux 基础知识

  • 第三期书生大模型实战营 第1关 Linux 基础知识
    • InternStudio开发机创建
    • SSH密钥配置
    • 通过本地客户端连接远程服务器
    • 通过本地VSCode连接远程服务器
    • 运行一个Python程序
    • 总结

第三期书生大模型实战营 第1关 Linux 基础知识

Hello大家好,这里是第三期书生大模型实战营,闯关地图入门岛的第1关 Linux 基础知识。我们将学会InternStudio开发机创建、配置远程连接、使用本地VSCode连接到开发机、创建脚本、创建虚拟环境、运行脚本等。让我们开始吧~

InternStudio开发机创建

首先,我们需要登录到InternStudio平台,然后点击“创建开发机”按钮。

然后,在开发机创建界面,选择“个人开发机”,输入开发机名称AI-Labs-Tutorial、选择基础镜像Cuda12.2、选择算力资源配置10% A100,然后点击“立即创建”按钮创建开发机。

开发机创建完成后,我们在开发机列表里面就可以看到新创建的开发机了。

此时,我们可以点击“进入开发机”链接,直接在网页上打开开发机的界面进行使用。

SSH密钥配置

如果不想使用网页版,而是希望通过本地客户端连接到远程服务器,我们可以配置密钥,然后再通过SSH连接到远程开发机即可。

在本地命令行,通过以下命令创建密钥对。

ssh-keygen -t rsa

创建好密钥对之后,我们可以复制${HOME}/.ssh/id_rsa.pub文件中的内容,这个文件的内容就是公钥,我们可以发布到InternStudio平台。

在开发机列表,点击开发机对应的“SSH连接”,在弹出的对话框中点击“添加公钥”。

在添加SSH公钥界面,粘贴刚复制的id_rsa.pub公钥内容,并点击“立即添加”按钮,完成公钥添加。

通过本地客户端连接远程服务器

添加好公钥之后,我们继续通过开发机的“SSH连接”连接,在弹出的对话框中,复制登录信息。

ssh -p 48234 root@ssh.intern-ai.org.cn -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null

在本地命令行,直接粘贴复制的命令,当我们看到如下的界面,则说明我们成功地通过本地客户端连接到了远程的服务器了。

接下来就可以进行愉快地开发了~

通过本地VSCode连接远程服务器

要愉快地开发代码,还是需要一个比较好的开发工具,VSCode就是一个不错的选择。

要实现VSCode连接远程服务器,我们需要先安装一个Remote SSH插件。

安装好插件以后,我们可以通过Connect to Host...配置连接到远程服务器。

选择新添加主机。

配置好开发机的登录信息,这里直接粘贴前面复制的开发机登录信息即可。

最后设置一个配置信息存储目录就好了。

配置好远程连接后,我们可以打开一个远程目录,比如:/root/InternLM/Tutorial

当我们看到我们远程开发机上的目录结构之后,那么恭喜你,本地VSCode成功地连接到了远程开发机。

接下来,就在本地VSCode愉快地开发吧~

运行一个Python程序

连接到开发机之后,激动地想要开发一个Hello World程序吗?

通过VSCode创建一个hello_world.py文件,并输入以下代码:

hello_world.py程序代码
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()

然后,创建一个虚拟环境。

conda create -n Tutorial python=3.10 -y

然后激活新创建的虚拟环境,并安装必要的依赖。

conda activate Tutorial
pip install gradio==4.29.0

安装完成依赖后,直接运行hello_world.py

python hello_world.py

程序运行成功后,我们可以通过浏览器访问对应的端口打开我们的程序界面。

总结

至此,我们成功创建了开发机、配置了远程连接、使用本地VSCode连接到了开发机、创建了脚本、创建了虚拟环境、并且运行了脚本。

接下来,就让我们在大模型实战开发中畅游吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/43978.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cesium 雷达扫描

cesium 雷达扫描 (下面附有源码) 实现思路 1、通过改变圆型材质来实现效果, 2、用了模运算和步进函数(step)来创建一个重复的圆形图案 3、当纹理坐标st落在垂直或水平的中心线上时,该代码将改变透明度和颜色,以突出显示这些线 示例代码 <!DOCTYPE html> <ht…

成为编程大佬!!——数据结构与算法(1)——算法复杂度!!

前言&#xff1a;解决同一个程序问题可以通过多个算法解决&#xff0c;那么要怎样判断一个算法的优劣呢&#xff1f;&#x1f914; 算法复杂度 算法复杂度是对某个程序运行时的时空效率的粗略估算&#xff0c;常用来判断一个算法的好坏。 我们通过两个维度来看算法复杂度——…

Maven在Windows中的配置方法

本文介绍在Windows电脑中&#xff0c;下载、配置Maven工具的详细方法。 Maven是一个广泛使用的项目管理工具&#xff0c;主要针对Java项目&#xff0c;但也可以用于其他类型的项目&#xff1b;其由Apache软件基金会维护&#xff0c;旨在简化和标准化项目构建过程&#xff0c;依…

数字经济时代,你有数商吗?

引言&#xff1a;随着科技的飞速发展&#xff0c;我们正步入一个全新的数字经济时代。在这个时代里&#xff0c;数据成为了新的石油&#xff0c;是推动经济增长和社会进步的关键要素。而在这个数据洪流中&#xff0c;一个新兴的概念——“数商”&#xff0c;正逐渐进入公众的视…

递归、搜索与回溯算法 2024.7.4-24.7.9

专题介绍&#xff1a; 一、递归 1、汉诺塔问题 class Solution {public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) {int n A.size();move(n,A,B,C);// 将A柱上的n个盘子通过借助B盘子全部挪到C柱子上}void move(int m,List<Integ…

Python | Leetcode Python题解之第226题翻转二叉树

题目&#xff1a; 题解&#xff1a; class Solution:def invertTree(self, root: TreeNode) -> TreeNode:if not root:return rootleft self.invertTree(root.left)right self.invertTree(root.right)root.left, root.right right, leftreturn root

01_空中机器人

空中机器人&#xff08;Aerial Robotics&#xff09;最早由美国乔治亚理工大学的Robert Michelson提出&#xff0c;是指各种搭载了GPS、机载导航设备、视觉识别设备以及无线通信设备等&#xff0c;能够在一定的范围内实现无人飞行的旋翼无人飞行器、无人飞艇等。 空中机器人拓…

Zynq系列FPGA实现SDI视频编解码+图像缩放+多路视频拼接,基于GTX高速接口,提供8套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本博已有的FPGA图像缩放方案本方案的无缩放应用本方案在Xilinx--Kintex系列FPGA上的应用 3、详细设计方案设计原理框图SDI 输入设备Gv8601a 均衡器GTX 解串与串化SMPTE SD/HD/3G SDI IP核BT1120转RGB自研…

14-58 剑和诗人32 - 使用矢量数据库增强 LLM 应用程序

GPT-4、Bloom、LaMDA 等大型语言模型 (LLM) 在生成类似人类的文本方面表现出了令人印象深刻的能力。然而,它们在事实准确性和推理能力等方面仍然面临限制。这是因为,虽然它们的基础是从大量文本数据中提取统计模式,但它们缺乏结构化的知识源来为其输出提供依据。 最近,我们…

基于信号量的生产者消费者模型

文章目录 信号量认识概念基于线程分析信号量信号量操作 循环队列下的生产者消费者模型理论认识代码部分 信号量 认识概念 信号量本质: 计数器 它也叫做公共资源 为了线程之间,进程间通信------>多个执行流看到的同一份资源---->多个资源都会并发访问这个资源(此时易出现…

【Linux】进程(9):进程控制2(进程等待)

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解Linux进程&#xff08;9&#xff09;进程控制2&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 一. 为什么要进程等待二. 如何进行进程等待1.wait函数—…

使用linux的mail命令发送html格式的邮件

1、关闭本机的sendmail服务或者postfix服务 #执行下面的命令&#xff0c;各位大侠都对号入座吧 #sendmial service sendmail stop chkconfig sendmail off #postfix service postfix stop chkconfig postfix off#再狠一点就直接卸载吧.. yum remove sendmail yum remove postf…

欧拉部署nginx

1.下载nginx 下载地址&#xff1a;https://nginx.org/en/download.html 选择稳定版本 下的镜像文件进行下载 2.解压Nginx包 cd /root/nginx tar -zxvf nginx-1.26.0.tar.gz cd nginx-1.26.03.安装nginx相关依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl o…

如何在 CentOS 中配置 Linux 命名空间(ip netns)

引言 Linux 命名空间是一项强大的技术&#xff0c;允许在同一系统上创建多个独立的虚拟化实例&#xff0c;每个实例可以拥有自己的网络栈、路由表、IP 地址等网络资源&#xff0c;实现资源的隔离和管理。本文将深入探讨如何在 CentOS 中配置和使用 ip netns 命名空间&#xff0…

【面试题】正向代理和反向代理的区别?

正向代理&#xff08;Forward Proxy&#xff09;和反向代理&#xff08;Reverse Proxy&#xff09;是两种常见的代理服务器类型&#xff0c;它们在网络通信中扮演着不同的角色&#xff0c;具有不同的功能和应用场景。 一、正向代理 1. 定义与位置 正向代理是位于客户端和目标…

TextView 实现最后一行缩进指定距离

实现图上类似的效果。 指定最大行数为三行&#xff0c;最后一行缩进指定的距离。 如果行数小于三行&#xff0c;则不缩进。 同时文字两端对齐 代码里的 JustifyTextView &#xff08;两端对齐的 Textview &#xff09;详见 Android Textview 多行文本两端对齐_android tex…

Go语言入门之基础语法

Go语言入门之基础语法 1.简单语法概述 行分隔符&#xff1a; 一行代表一个语句结束&#xff0c;无需写分号。将多个语句写在一行可以用分号分隔&#xff0c;但是不推荐 注释&#xff1a; // 或者/* */ 标识符&#xff1a; 用来命名变量、类型等程序实体。 支持大小写字母、数字…

k8s核心操作_Deployment的扩缩容能力_Deployment自愈和故障转移能力---分布式云原生部署架构搭建022

然后我们上面说了k8s中的deployment的多副本能力 然后,我们再来看 k8s中的deployment的扩缩容能力 可以看到,对于扩容,要使用 kubectl scale 命令 对于缩容 要使用kubectl scale 命令都是使用这个命令对吧 来试试,可以看到上面命令 首先看看 kubectl get pod 可以看到有…

第58期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

网络编程:TCP

一、tcp编程 注意 1.数据本身有顺序 2.发送和接收次数不需要对应 3. 1. C/S 模式 》服务器/客户端模型 server:socket()-->bind()--->listen()-->accept()-->recv()-->close() client:socket()-->connect()-->send()-->close(); int on 1; setso…