开始之前
后期跑实验经常需要同时跑几条命令,使用脚本可以简化操作。
查看知识追踪领域数据集的情况
知识追踪数据集中的数据通常以三行形式呈现,每三行代表一个学生的做题情况,第一行表示做题数,第二行表示学生所做题目的 ID,第三行则表示学生的作答情况。如下方所示:
192
742 504 1731 1955 559 2015 2944 2170 2051 1153 1046 607
0 0 0 0 0 0 0 0 0 1 0 0
数据集问题总数以及不同的题数
1 | import csv |
1 | 训练验证集样本数: 14535 训练验证集问题总数: 1060408 |
查看数据集的大致情况(前五行)
1 | import numpy as np |
conda 常用的命令。
1)conda list 查看安装了哪些包。
2)conda env list 或 conda info -e 查看当前存在哪些虚拟环境
3)conda update conda 检查更新当前 conda
使用 conda create -n your_env_name python=X.X(2.7、3.6 等)命令创建 python 版本为 X.X、名字为 your_env_name 的虚拟环境。your_env_name 文件可以在 Anaconda 安装目录 envs 文件下找到。
shell 脚本实例
#!/bin/bash # ‘#!’是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。
echo “Hello World !” # echo 命令用于向窗口输出文本。
运行 Shell 脚本有两种方法:
1、作为可执行程序
将上面的代码保存为 test.sh,并 cd 到相应目录:
1 | chmod +x ./test.sh #使脚本具有执行权限 |
2、作为解释器参数
这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:
1 | /bin/sh test.sh # 执行shell脚本 |
后台运行命令
1 | nohup ./test.sh > myout.log 2>&1 & |
解释:
& 放在命令到结尾,表示后台运行,防止终端一直被某个进程占用,这样终端可以执行别到任务
nohup 放在命令的开头,表示不挂起(no hang up),也即,关闭终端或者退出某个账号,进程也继续保持运行状态
0 表示 stdin 标准输入
1 表示 stdout 标准输出
2 表示 stderr 标准错误
2>&1 也就表示将错误重定向到标准输出上
Linux 查看 Nvidia 显卡信息及使用情况
GPU 与显存的关系类似于 CPU 与内存的关系
Nvidia 自带一个命令行工具可以查看显存的使用情况:nvidia-smi
注:此图片来源于网络
表头释义:
Fan:显示风扇转速,数值在 0 到 100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是 N/A;
Temp:显卡内部的温度,单位是摄氏度;
Perf:表征性能状态,从 P0 到 P12,P0 表示最大性能,P12 表示状态最小性能;
Pwr:能耗表示;上方的 Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的 GPU 应用启动时,花费的时间更少,这里显示的是 off 的状态。
Bus-Id:涉及 GPU 总线的相关信息;格式为:domain:bus:device.function
Disp.A:是 Display Active 的意思,表示 GPU 的显示是否初始化;
Memory Usage:显存的使用率;
Volatile GPU-Util:浮动的 GPU 利用率;
ECC:是否开启错误检查和纠正技术;0/DISABLED, 1/ENABLED
Compute M.:计算模式;0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED
下边的 Processes 显示每块 GPU 上每个进程所使用的显存情况。
注:显存占用和 GPU 占用是两个不一样的东西,显卡是由 GPU 和显存等组成的,显存和 GPU 的关系有点类似于内存和 CPU 的关系。
如果要周期性的输出显卡的使用情况,可以用 watch 指令实现:watch -n 10 nvidia-smi,命令行参数-n 后边跟的是执行命令的周期,以 s 为单位。
脚本——并行跑几条命令
1 | num=1 |
- 本文作者: YuT
- 本文链接: https://ytno1.github.io/archives/65ba0542.html
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!