Ctrl+Shift+X)。在 PowerShell 窗口中输入以下命令并按回车:
whoami 这个命令将显示你当前登录的完整用户名,通常是 计算机名\用户名 的格式。
PS E:\24暑假实习\AutoStudio-main> whoami >> pc578578578\wuqingman 那么 wuqingman 就是你的用户名。
icacls 命令:一旦你知道了你的用户名,你就可以使用它来更新 icacls 命令,为你的 SSH 私钥文件设置适当的权限。假设你的用户名是 wuqingman,那么命令将是:
icacls "E:\24暑假实习\id_rsa_21073_lihanhui_svg" /reset icacls "E:\24暑假实习\id_rsa_21073_lihanhui_svg" /grant:r wuqingman:(R) icacls "E:\24暑假实习\id_rsa_21073_lihanhui_svg" /inheritance:r 这些命令会重置你的私钥文件的权限,只授予你(wuqingman)读取权限,并禁止权限继承。
运行完这些命令后,你的私钥文件就只对你自己可读,这样可以安全地用于 SSH 连接。
打开 VSCode 命令面板:
F1 或 Ctrl+Shift+P 打开命令面板。输入并选择:
添加 SSH 主机:
ssh -i /path/to/your/id_rsa_21073_lihanhui_svg -p 21073 lihanhui_svg@121.46.19.2 保存并连接:
~/.ssh/config)。注意:我们实验室要求有:如果您是初次登录本服务器,请在数据盘(通过 df -h查找)下创建一个与您用户名同名的文件夹,作为您在本服务器的工作区。建议您将所有的数据都放在此文件夹下面。/home路径容量较小,请您不要在/home路径下存放程序与数据。否则,可能影响其他用户的正常使用;一旦系统崩溃,您/home路径下的所有数据将不复存在!
初次登录服务器:
如果这是你第一次登录这台服务器,建议你在服务器的“数据盘”上创建一个新的文件夹。这个文件夹应该以你的用户名命名,用作你个人的工作空间。
查找数据盘:
使用 df -h 命令可以查看服务器上各个磁盘分区的使用情况和剩余空间。这有助于你找到合适的位置创建你的工作文件夹。
像我第一次输出 df -h 命令后,最合适的位置是 /data1 分区:
/data1:容量为15TB,已用6.5TB,可用7.3TB,使用率48%。创建个人工作目录:
在 /data1 分区下创建一个与你用户名相同的目录。这样可以帮助你组织你的工作数据和项目。可以使用以下命令:
mkdir /data1/wuqingman_place 注意,运行这个命令的时候要回到根目录
改变目录权限:
确保你对这个新创建的目录有读写权限。可以使用上面提到的icacls命令来设置适当的权限。
开始使用你的工作目录:
由于你已经在正确的位置(/data1/wuqingman_place),可以继续进行 git clone 操作来下载你需要的项目。命令如下:
git clone https://github.com/cszy98/PLACE.git 这将会在你的 wuqingman_place 目录下创建一个名为 PLACE 的子目录,其中包含从 GitHub 上克隆下来的所有项目文件。
如果你刚连上服务器位于家目录(如 /home/lihanhui_svg),但是你想使得你的左边文件夹目录是 /data1/wuqingman_place ,你需要做以下几步:
/data1/wuqingman_place:cd /data1/wuqingman_place 这将切换到你之前创建的工作目录。code . 命令,这将在 VSCode 中打开当前目录,使你能够浏览所有文件和子目录。首先,先输入 df -h ,可以看到不同的文件系统和它们的容量、使用情况。例如我输出后,发现最适合存放我的数据和安装大型软件环境(如 Conda)的位置是 /data1 分区,这个分区有足够的空间(15TB 总容量,7.3TB 可用),并且使用率为 48%。
下载 Miniconda 安装脚本:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh 添加执行权限并运行安装脚本:
chmod +x Miniconda3-latest-Linux-x86_64.sh ./Miniconda3-latest-Linux-x86_64.sh 在安装过程中指定安装位置:
在安装 Miniconda 的过程中,安装程序会提示你选择安装目录。默认情况下,它会建议将 Miniconda 安装在用户的家目录下(如 /home/lihanhui_svg/miniconda3)。你可以通过手动输入路径来指定安装位置。
在我们刚刚运行完这句话后:
./Miniconda3-latest-Linux-x86_64.sh 它会显示一个提示,类似如下内容:
Miniconda3 will now be installed into this location: /home/lihanhui_svg/miniconda3 - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below [/home/lihanhui_svg/miniconda3] >>> 在这里,你可以选择:
按下 ENTER 来确认默认安装路径(通常是家目录),但这不是我们希望的选择,因为你需要将它安装在 /data1 分区。
指定新路径:
/data1/miniconda3 目录,你可以直接在提示符后输入该路径:/data1/miniconda3 ENTER 键确认。3.但是我在运行时出现了下面的问题:
Miniconda3 will now be installed into this location:
/home/lihanhui_svg/miniconda3
[/home/lihanhui_svg/miniconda3] >>> /data1/miniconda3
ERROR: File or directory already exists: ‘/data1/miniconda3’
If you want to update an existing installation, use the -u option.
lihanhui_svg@ubuntu1:/data1/wuqingman_place$
这个错误信息说明在你指定的路径 /data1/miniconda3 下已经存在一个目录或文件。
检查现有安装:
/data1/miniconda3 下是否已经有一个有效的 Miniconda 安装。如果是,可以直接使用这个安装,而不需要重新安装。ls -la /data1/miniconda3 如果目录中有 Conda 的相关文件和目录(如 bin, envs, etc 等),说明已经有一个 Miniconda 安装在这里。/data1/miniconda3 目录中已经有一个现有的 Miniconda 安装,并且它属于用户 wenyoupeng_m22。我有以下几种选择:如果你愿意共享这个安装,并且你有权限访问和使用它,你可以直接使用这个现有的 Miniconda 环境。这包括创建你自己的 Conda 环境来满足你的特定需求。你可以执行以下操作来使用现有的 Conda 安装:
加载 Conda 环境:
在你的 shell 中运行以下命令(假设 Miniconda 的 bin 目录已经在 PATH 中):
source /data1/miniconda3/bin/activate 如果 conda 命令可用,那么你可以继续使用它。
创建自己的 Conda 环境:
如果你需要一个独立的环境,可以使用以下命令:
conda create -n myenv python=3.x 然后激活你的环境:
conda activate myenv 如果你希望拥有一个完全独立的 Miniconda 安装,可以选择在另一个目录中安装。你可以在 /data1 的子目录中选择一个新的路径,例如 /data1/wuqingman_conda,然后在该路径下安装:
选择新目录:
在安装 Miniconda 时指定新的安装路径,例如 /data1/wuqingman_conda。
执行安装:
如果已经下载了 Miniconda 安装脚本,可以运行以下命令并指定新的路径:
./Miniconda3-latest-Linux-x86_64.sh 在安装路径提示时,输入新的路径 /data1/wuqingman_conda。
我选择了选项一:
lihanhui_svg@ubuntu1:/data1/wuqingman_place$ source /data1/miniconda3/bin/activate (base) lihanhui_svg@ubuntu1:/data1/wuqingman_place$ 接下来就是我创建新的 Conda 环境并激活:
conda create -n PLACE python=3.x conda activate PLACE 接着,在这个新环境中,我可以使用 Conda 安装所需的包,例如:
conda install numpy pandas 或者像本项目的readme一样: conda env create -f environment.yaml 注意上述命令确保: environment.yaml 文件位于当前目录下(/data1/wuqingman_place)。
服务器出现了CUDA error: out of memory怎么办?
最简单的解决方案——使用空闲的GPU
使用 nvidia-smi 命令查看当前 GPU 的内存使用情况:bash nvidia-smi
像我现在使用的服务器, nvidia-smi 输出表明当前服务器上共有 6 张 NVIDIA GeForce RTX 3090 显卡,每张显卡有 24GB 的内存。
由于 GPU 1 到 GPU 5 基本处于空闲状态,你可以在运行程序时指定使用这些 GPU 而不是 GPU 0。你可以通过设置 CUDA_VISIBLE_DEVICES 环境变量来指定要使用的 GPU。例如,使用 GPU 1 运行程序:
CUDA_VISIBLE_DEVICES=1 ./run_inference_ADE20K.sh 这将使你的程序只使用 GPU 1,从而避免内存不足的问题。