【书生.浦语实战营】——入门岛
【书生.浦语实战营】——入门岛_第一关_Linux基础
- 任务分布
- 1. 本地vscode远程连接并进行端口映射
- 端口映射
- What——何为端口映射
- How——怎么进行端口映射
- 2. Linux基础命令
- touch :创建文件
- mkdir :创建目录
- cd:进入 退出 目录
- pwd :确定当前所在目录
- cat:可以查看文件中的内容
- vi 和 vim :编辑文件
- cp 和 ln
- ls:可以用来列出目录的内容以及详细信息
- sed: 流文本编辑
- 进程管理命令
- nvidia-smi 命令
- 远程连接服务器并使用conda创建虚拟环境
- studio-conda使用与Shell
- 第二关
- 完成leetcode383
- 远程连接开发机并debug
- 第三关——git 基础
- 提交个人介绍PR
- 创建一个个人仓库
- 第四关
任务分布
闯关任务 完成SSH连接与端口映射并运行hello_world.py 10min
可选任务 1 将Linux基础命令在开发机上完成一遍 10min
可选任务 2 使用 VSCODE 远程连接开发机并创建一个conda环境 10min
可选任务 3 创建并运行test.sh文件 10min
1. 本地vscode远程连接并进行端口映射
端口映射
What——何为端口映射
端口映射是一种网络技术,它可以将外网中的任意端口映射到内网中的相应端口,实现内网与外网之间的通信。通过端口映射,可以在外网访问内网中的服务或应用,实现跨越网络的便捷通信。
How——怎么进行端口映射
使用 ssh命令进行
ssh -p 37367 root@ssh.intern-ai.org.cn -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
vscode 也可以自动进行端口映射
2. Linux基础命令
创建文件:可以使用 touch 命令创建空文件。
创建目录:使用 mkdir 命令。
目录切换:使用cd命令。
显示所在目录:使用pwd命令。
查看文件内容:如使用 cat 直接显示文件全部内容,more 和 less 可以分页查看。
编辑文件:如 vi 或 vim 等编辑器。
复制文件:用 cp 命令。
创建文件链接:用ln命令。
移动文件:通过 mv 命令。
删除文件:使用 rm 命令。
删除目录:rmdir(只能删除空目录)或 rm -r(可删除非空目录)。
查找文件:可以用 find 命令。
查看文件或目录的详细信息:使用ls命令,如使用 ls -l查看目录下文件的详细信息。
处理文件:进行复杂的文件操作,可以使用sed命令。
touch :创建文件
touch demo.py
mkdir :创建目录
mkdir test
cd:进入 退出 目录
pwd :确定当前所在目录
cat:可以查看文件中的内容
vi 和 vim :编辑文件
关于这个,详见笔者之前文章
cp 和 ln
复制文件:cp 源文件目录 目标文件目录
复制目录:cp -r 源目录 目标目录
例如:复制根目录下的hello_world.py文件到test中
命令:
结果:
如果直接使用 cp 命令来复制这些模型文件,尤其是当需要多次复制同一份模型文件时,会导致磁盘空间的大量消耗。例如,在进行模型测试、调优或者部署多个实例时,可能会重复复制同一份模型数据,这样每一份都是独立的副本,自然会占用更多的磁盘空间。
相比之下,使用符号链接(软链接)或硬链接可以有效地减少磁盘空间的使用:
硬链接:对于硬链接而言,文件系统中的多个文件名实际上指向同一个inode(文件的数据存储单元)。因此,即使创建了多个硬链接,文件的实际内容只存储一次,不会增加额外的磁盘空间需求。不过,硬链接只能在同一文件系统内创建。软链接(符号链接):软链接 **类似于Windows中的快捷方式** 。它是一个指向另一个文件路径的特殊文件。软链接文件本身包含了目标文件的路径信息,而不是实际的数据。因此,创建多少个软链接都不会增加磁盘空间负担,只是存储了路径信息而已。软链接可以跨越不同的文件系统。
使用:
ln [参数][源文件或目录][目标文件或目录]
ls:可以用来列出目录的内容以及详细信息
-a:显示所有文件和目录,包括隐藏文件(以.开头的文件或目录)。
-l:以长格式显示详细信息,包括文件权限、所有者、大小、修改时间等。
-h:与-l结合使用,以人类可读的方式显示文件大小(如K、M、G等)。
-R:递归列出子目录的内容。
-t:按文件修改时间排序显示
按修改时间顺序进行展示
sed: 流文本编辑
进程管理命令
ps
:列出当前系统中的进程。使用不同的选项可以显示不同的进程信息
ps nux
:显示系统所有进程的详细信息
top
:动态显示系统中进程的状态。它会实时更新进程列表,显示CPU和内存使用率最高的进程。
pstree
:以树状图的形式显示当前运行的进程及其父子关系
kill PID
:杀死指定的进程ID
kill -9 PID
:强制杀死指定的进程ID
nvidia-smi 命令
显示 GPU 状态的摘要信息:
nvidia-smi
显示详细的 GPU 状态信息:
nvidia-smi -l 1
这个命令会每1秒更新一次状态信息。显示 GPU 的帮助信息:
nvidia-smi -h
列出所有 GPU 并显示它们的 PID 和进程名称:
nvidia-smi pmon
强制结束指定的 GPU 进程:
nvidia-smi --id=0 --ex_pid=12345
这会强制结束 GPU ID 为 0 上的 PID 为 12345 的进程。设置 GPU 性能模式:
nvidia-smi -pm 1
nvidia-smi -i 0 -pm 1
第一个命令会为所有 GPU 设置为性能模式,第二个命令只针对 ID 为 0 的 GPU。重启 GPU:
nvidia-smi --id=0 -r
这会重启 ID 为 0 的 GPU。
引用自课程学习手册
远程连接服务器并使用conda创建虚拟环境
- 开发机中已经安好了conda
conda --version
:查看conda版本
要对conda进行换源,提速 - 创建虚拟环境
使用conda create -n name python=3.10创建虚拟环境,这里表示创建了python版本为3.10、名字为name的虚拟环境。创建后,可以在.conda目录下的envs目录下找到。
常用的是激活环境命令
conda activate 环境名字
:激活环境
conda deactivate 环境名字
:退出环境
conda env list
:查看环境列表
conda list
:查看当前环境下安装的包
studio-conda使用与Shell
studio-conda
:开发机内置的命令。使用shell脚本实现
第二关
完成leetcode383
class Solution:def canConstruct(self, ransomNote: str, magazine: str) -> bool:# 字典用于存储字符计数char_count = {}# 统计 magazine 中字符的出现次数for char in magazine:if char in char_count:char_count[char] += 1else:char_count[char] = 1# 检查 ransomNote 中字符是否可以在 magazine 中找到for char in ransomNote:if char in char_count and char_count[char] > 0:char_count[char] -= 1 # 使用一个字符else:return False # 如果 magazine 中没有该字符或用完了return True # 所有字符都可以构成
远程连接开发机并debug
第三关——git 基础
提交个人介绍PR
基本步骤是:
1. fork原始项目
2. git clone 下来
3. 创建修改自己的个人介绍.md
4. add . 添加全部修改
5. git commit -m "提交信息(建议英文)" 合并
6. git push
创建一个个人仓库
第四关
模型下载
这里使用魔搭社区进行下载
下载完就会在目录中看到如下json文件
相关文章:

【书生.浦语实战营】——入门岛
【书生.浦语实战营】——入门岛_第一关_Linux基础 任务分布1. 本地vscode远程连接并进行端口映射端口映射What——何为端口映射How——怎么进行端口映射 2. Linux基础命令touch :创建文件mkdir :创建目录cd:进入 退出 目录pwd :确定当前所在目录cat:可以…...

WPF+MVVM案例实战(十四)- 封装一个自定义消息弹窗控件(下)
文章目录 1、案例效果2、弹窗控件使用1.引入用户控件2、按钮命令实现 3、总结4、源代码获取 1、案例效果 2、弹窗控件使用 1.引入用户控件 打开 Wpf_Examples 项目,在引用中添加用户控件库,在 MainWindow.xaml 界面引用控件库,代码如下&…...

嵌入式——STM32外设应用
STM32 微控制器以其高性能、低功耗和丰富的外设资源,在嵌入式系统设计中得到了广泛应用。以下将详细介绍 STM32 的主要外设及其典型应用,帮助开发者更好地理解和应用这些功能。 1. GPIO(通用输入输出端口) 功能:GPIO…...

HCIA(ACL)
第七节 ACL:访问控制列表 访问控制----在路由器的入或者出的接口上,匹配流量,之后产生动作---允许或拒绝 定义感兴趣流量-----帮助其他软件抓流量 匹配规则: 至上而下,逐一匹配,上调匹配按照上条执行…...

react基础之reactHooks
文章目录 React Hooks 使用指南常用 Hooks使用规则 小结 React Hooks 使用指南 React Hooks 是 React 16.8 引入的一种新特性,允许在函数组件中使用状态和其他 React 特性,而无需编写类组件。以下是一些基础的 Hooks 及其使用规则。 常用 Hooks useSta…...

Java基础0-Java概览
Java概览 一、Java的主要特性 Java 语言是简单的: Java 丢弃了 C 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存…...

SW绘制曲面
20241031第一次学习 参考教程:SolidWorks视频教程SW实战营绘制一个布满球体的不规则曲面_哔哩哔哩_bilibili 过程概述: STEP 1:创建平面草图并拉伸 STEP 2:从侧面(拉伸出来的面)绘制样条曲线 样条曲线需要画到实例的底面(图中接下来是要向下变形)薄板两侧都要绘制...

css知识点梳理2
1. 选择器拓展 在 CSS 中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。 复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的…...

攻防世界 MISC miao~详解
下载压缩包,但是尝试解压的时候提示错误,刚开始以为是伪加密之类的,但是尝试了一圈之后,发现并没有问题。后面用bandizip打开,得到了一张图片: 拖到010editor里面查看,没有发现什么 于是用随波逐…...

使用 `tracert [options] <目标地址>` 命令的详细介绍
使用 tracert [options] <目标地址> 命令的详细介绍 什么是 tracert 命令? tracert(Trace Route)是一个用于追踪数据包从一台计算机到达另一台计算机的网络工具。它通过发送特定的数据包,观察这些数据包经过的路由节点&…...

闲一品交易平台:SpringBoot技术的新境界
摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,闲一品交易平台当然也不能排除在外。闲一品交易平台是以实际运用为开发背景,运用软件工程原理和开发方法&…...

【深入浅出】深入浅出transformer(附面试题)
本文的目的是为了帮助大家面试transformer,会结合我的面试经历以及看法去讲解transformer,并非完整的技术细致讲解,介意请移步。 结构 提到transformer网络模型,大家脑海中是否有这张图呢? 这是网络结构中经典的编解…...

苹果重大更新,macOS与iOS同时推出更新!功能真好用
前言 这几天,苹果更新了macOS和iOS的系统版本!macOS Sequoia 版本号15.1 iOS版本号18.1 小白更新设备系统的时间已经算比较晚的了,但好在更新得很及时!因为这次更新的功能很合小白的胃口啊!咱们先来看看本次更新了什么…...

刘艳兵-DBA016-在您的数据库中,SALES表存在于SH用户中,并且启用了统一审计。作为DBA,您成功执行了以下指令:
在您的数据库中,SALES表存在于SH用户中,并且启用了统一审计。作为DBA,您成功执行了以下指令: SQL> CREATE AUDIT POLICY sales_pol ACTIONS select on sh.sales; SQL> AUDIT POLICY sales_pol; 关于SALES_POL审计策略,哪个陈…...

力扣题目解析--整数反转
题目 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1:…...

净水前置需要安装吗?
业主问净水前置需不需要安装?是必须安装吗?这个问题其实很难回答,如果说非要安装,有可能客户会感觉我们在这上面要挣钱, 有很多业主没有安装家里用水也没有问题,如果说不需要安装,现在…...

在深度学习研究方向有哪些创新点
以下是深度学习研究方向的一些创新点: 一、模型架构创新 Transformer架构及其扩展 自注意力机制 Transformer架构摒弃了传统的卷积神经网络(CNN)和循环神经网络(RNN)中的卷积和循环结构,引入了自注意力机…...

YOLOv11改进策略【卷积层】| 2024最新轻量级自适应提取模块 LAE 即插即用 保留局部信息和全局信息
一、本文介绍 本文记录的是利用轻量级自适应提取模块(LAE)模块优化YOLOv11的目标检测网络模型。LAE (Lightweight Adaptive Extraction) 在减少参数和计算成本的同时,能够提取更丰富语义信息的特征,克服了传统卷积方法难以捕捉全局信息的问题,并能更好地提取ROI特征。本文将…...

工作转型与个人突破提升:如何在社会浪潮中激流勇进
文章目录 一、写在前面二、技术人的迷茫三、做好项目经理其实很难四、从纯技术者转型为管理者面临的事五、最重要的技能【重磅推荐!免费简单内网穿透神器!支持linuxwindows】 一、写在前面 近期工作变动,虽然说对于开发者而言,工…...

mongodb:增删改查和特殊查询符号手册
前言 最近考虑开发游戏,网上推荐使用非关系数据库mongodb,因此浅尝了一番,并将一些语句和符号记录在这里。 相对于mysql、oracle这些关系型数据库,基于json文档的mongodb在很多地方都与之大不相同(可以类比为TCP握手连…...

你的Mac book多久没有清洁键盘屏幕了,Mac清洁好帮手来了
你的Mac book键盘使用时间长了不会打油吗,你的屏幕使用久了不会沾灰吗,那你还不清洁一下 你不清洁的原因,是怕清洁键盘误触发吗,还是怕屏幕擦不干净白擦,还是觉得每次都要睡眠或关机再清洁很麻烦 Cleaner是Mac的清洁…...

ANA基因组数据库(ANAgdb)
ANA进化阶由早期发育的被子植物谱系组成,包括无油樟目(Amborellales)、睡莲目(Nymphaeales)和木兰藤目(Austrobaileyales),在进化上具有重要地位。 ANA基因组数据库(ANA…...

leetcode 704 二分查找
704. 二分查找 已解答 简单 相关标签 相关企业 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nu…...

Vue学习笔记(十一)
一. Promise 1. 异步 异步:则是将耗时很长的A交付的工作交给系统之后,就去继续做B交付的工作,等到系统完成了前面的工作之后,再通过回调或者事件,继续做A剩下的工作。AB工作的完成顺序,和交付他们的时间顺…...

ABAP进阶学习1:动态内表1-通过系统表LVC_T_FCAT类型定义内表
动态内表1-通过系统表LVC_T_FCAT类型定义内表 如果对你有帮助,点个关注收藏吧~ 做BW做久了,突然对abap有了探索欲,开始进一步学习abap了,以后这个系列会逐步更新,欢迎小伙伴点个关注一起学习,我学习的方法…...

【Vispy库】一个用于高性能交互式2D/3D数据可视化库 Python库
Vispy库 1、你好,Vispy!2、安装Vispy,轻松上手3、案例一:绘制简单的2D图形4、案例二:3D图形的绘制5、案例三:大规模数据的可视化6、结语 1、你好,Vispy! Vispy是一个用于Python的高…...

为什么 C 语言数组是从 0 开始计数的?
C 语言等大多数编程语言的数组从 0 开始而不从 1 开始,有两个原因: 第一:地址计算更方便 C 语言从 0 开始的话,array[i] 的地址就正好是: (array i) 如果是从 1 开始的话,就是 (array i - 1) 多一次计…...

matlab线性度计算程序
matlab线性度计算程序 环境 matlab2023a ads2020 原理 其中f(v)是曲线,fmax是f(v)的最大值,fmin是f(v)的最小值,vmax为fmax对应v值,vmin为fmin对应v值。 L∆fmax/(fmax-fmin) (1) ∆fmaxmax[f(v)-[fmin-K*(v-vmin)]] (2) K(…...

为什么NMOS管比PMOS管更受欢迎?
NMOS在实际应用中为何比PMOS要更受欢迎。本文将从导电沟道、电子迁移率和器件速度等多个方面来展开讲解。 首先是在性能方面考虑: 与NMOS管驱动能力相同的一个PMOS管,其器件面积可能是NMOS管的2~3倍,然而器件面积会影响导通电阻…...

【论文复现】短期电力负荷
作者主页: 七七的个人主页 文章收录专栏: 论文复现 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 短期电力负荷 论文发表问题背景一. 基本问题二. 本论文发现的问题 对于论文发现问题的解决方案:复现…...