常用命令代码

创建conda环境:

conda create --name <env_name>

其中,<env_name> 是想要给虚拟环境起的名称。可以将其替换为想要的任何名称。

接下来操作均需先激活指定的虚拟环境,然后才能在指定环境中安装包

使用conda安装配置文件里的包:

environment.yml文件

conda env update -f environment.yml --prune

这将根据environment.yml文件中列出的包和依赖项更新当前激活环境的配置。–prune选项将删除环境中没有在environment.yml文件中列出的包的任何不需要的包。

注:若".yml"文件中有name这个属性,它会重新创建一个对应的虚拟环境,并在创建的虚拟环境中安装下面的依赖包
在这里插入图片描述

使用pip安装配置文件里的包:

requirements.txt文件

pip install -r requirements.txt

这将读取requirements.txt文件,并自动安装其中列出的所有包及其依赖项。
如果requirements.txt文件中有指定包的版本限制,pip将会安装符合指定版本要求的最新版本。

Pycharm中虚拟环境问题

当在Pycharm中使用pip命令安装所需依赖时,由于Pycharm默认是全局安装,所以使用pip命令安装后,代码中仍然会显示该依赖并未安装,一个可行的解决办法为:
在Pycharm终端中,输入: "cd venv/Scripts",回车,再输入"activate + 回车",此时应该是激活了当前项目的虚拟环境,之后再安装依赖就会安装在该项目的venv/Lib/site-package目录下。

删除某个已存在的虚拟环境:

conda env remove --name <env_name>

<env_name> 是虚拟环境的名称

导出环境配置文件

如果你想导出你的conda环境到一个environment.yaml文件,可以使用下面的命令:

conda env export > environment.yaml

这条命令将把你当前的conda环境中的所有包导出到一个名为environment.yaml的文件中。

如果你希望只导出你通过pip安装的包到一个requirements.txt文件,你可以使用下面的命令:

pip freeze > requirements.txt

这条命令将把你当前环境中所有通过pip安装的包导出到一个名为requirements.txt的文件中。
请注意,conda env export会导出环境中所有的包(包括通过conda和pip安装的包),而pip freeze只会导出通过pip安装的包。

查看当前存在的任务进程

ps aux

查看当前CUDA版本

nvcc --version

查看当前CUDA状态

nvidia-smi

判断GPU是否可用

### Check if GPU is available ###
if torch.cuda.is_available():
    device = torch.device('cuda')
    print("GPU")
else:
    device = torch.device('cpu')
    print("CPU")

nohup命令的使用

nohup python train_seg.py '../data/comparatives/string_c1/seqs.pkl.gz' '../data/comparatives/string_c1/train_pairs.pkl.gz' > records/train_seg.txt &

这段命令的含义是:

  • nohup’:表示不挂断地运行命令,即使终端关闭或断开连接,命令也会继续运行。
  • python train_seg.py’:运行名为 train_seg.py 的 Python 脚本。
  • …/data/comparatives/string_c1/seqs.pkl.gz’:作为 SEQ_PATH参数传递给脚本的路径,指定序列文件的位置。
  • …/data/comparatives/string_c1/train_pairs.pkl.gz’:作为 TRAIN_PATH参数传递给脚本的路径,指定训练数据文件的位置。
  • >’:重定向输出到文件。
  • records/train_seg.txt’:指定输出的文件路径,将命令的标准输出重定向到records/train_seg.txt 文件中。
  • &’:表示在后台运行命令,并立即返回到终端提示符,不会阻塞终端。
    通过添加 & 符号,该命令将以后台进程的形式运行,不会阻塞当前终端,可以继续执行其他命令或关闭终端而不影响脚本的执行。同时,命令的标准输出会被重定向到 records/train_seg.txt 文件中,用于记录训练过程的输出和日志信息。

Q:nohup和&符号作用是一样的吗?

A:不完全一样。

nohup 和 & 符号都可以用于在后台运行命令,但它们的作用有一些区别:
 - nohup:nohup 命令用于在后台运行命令,并将命令的输出重定向到指定文件,即使终端关闭或断开连接,命令也会继续运行。使用 nohup
   命令可以确保命令在后台运行的同时,不会受到终端关闭的影响,并将输出保存到指定文件中。
 - & 符号:& 符号用于在后台运行命令,并立即返回到终端提示符,不会阻塞终端。通过在命令的末尾添加 &
   符号,可以将命令放在后台运行,继续使用终端执行其他命令,而不必等待该命令的完成。

因此,nohup 命令和 & 符号在将命令放在后台运行方面有相似的作用,但 nohup 命令还会将命令的输出重定向到指定文件,以保证输出的记录。

Q:kill pid 与kill -9 pid命令的区别是什么?

A:kill pid 发送 SIGTERM 信号,允许进程进行清理操作,例如保存数据、关闭文件等。进程可以捕获 SIGTERM 信号并执行相应的操作,
   然后正常退出。而 kill -9 pid 发送 SIGKILL 信号,进程无法捕获该信号或进行任何清理操作,它会被立即终止。

 - 强制终止:kill -9 pid 是一个强制终止命令,它可以终止无响应或僵尸进程,但也可能导致进程未能正确地释放资源或保存数据。
 - 优雅终止:kill pid 提供了一种优雅的终止方式,允许进程完成必要的清理操作,避免数据丢失或资源泄漏。

在大多数情况下,首选应该是使用 kill pid 命令,以允许进程进行清理操作并正常退出。只有在出现无响应或其他无法通过正常方式终止的
情况下,才应该考虑使用 kill -9 pid 命令。但请注意,使用 kill -9 命令时要谨慎,因为它可能会导致未处理的资源问题或数据损失。

个人存档,随时更新

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值