ctrl+c
: 前台进程终止 ,直接终止当前正在运行的进程。ctrl+z
:中断任务执行,类似于暂停执行的意思,执行该操作意味着当前的进程被挂起。- 被挂起的进程只有在当下窗口,可以用jobs查看
jobs
:查看在后台执行的进程。注意:如果退出当前终端,则无法再次进入终端查看到后台进程。jobs -l 看到pidps -u
查看隶属于自己的进程,- linux 中查看python后台运行的程序:ps -ef | grep python
常用loss合集
TV loss
1 | class TVLoss(nn.Module): |
个人理解 *2 的意思是TV是四个方向的,所以两个方向计算下来需要 * 2
将测试图片网页展示
安装与准备
pip install dominate
html.py
1 | import dominate |
测试时
1 | from utils import html |
优雅的python深度学习
根目录下
1 | conf |
Hydra使用
最简单使用
安装
1 | pip install hydra-core |
初步测试
目前的代码结构
1 | folder |
其中main.py
1 | from omegaconf import DictConfig, OmegaConf |
结果
1 | The current running directory is C:\Users\xx\xx\xx\folder\ |
可以看到hydra运行时,会自动建立一个输出文件夹,包含日期和时间信息,然后还会直接将路径调到里面去,以方便保存脚本内的各种东西。这就是初步测试,全部都在这一行:配置的路径在”conf”,配置的文件名为”recoro_train”
因此,无论在代码的任何地方,新建文件都会在working directory下 进行新建写入。
python常用指令
查看pytorch版本
1 | import torch |
python 文件管理
文件列表
1 | filefolder = os.listdir(root) |
删除文件
1 | import os |
文件读取
1 | with open('./loss.txt','a+') as f: |
python 直接使用os.system
1 | command = 'ffmpeg -i ./results/%s/'%(datasetname[i]) +'%06d.png ./results'+'/%s.mp4'%(datasetname[i]) |
python超参传递
1 | import argparse |
1 | python3 /Users/PeppaZhu/Desktop/studio_light/zoom_VB/test_V4_1NGF.py -in test_video_gfdebug/peppa_13test.mov -out peppa_13test_V4_4 |
cplusplus文件管理
1 | #include <filesystem> |
cplusplus里数据类型的大小和存储方式
不同数据类型的大小
相同位数的系统下,每一个变量的地址大小相同
1 | int32_t va; int32_t* vb; double vc; double* vd; uint8_t ve; uint8_t* vf; intptr_t vg; |
以上变量地址大小都是 8 ,因为在64位体统下。
相同位数的系统下,不同类型变量占有的空间大小不同
1 | int32_t va; int32_t* vb; double vc; double* vd; uint8_t ve; uint8_t* vf; intptr_t vg; |
这里*vb == vb[0]
不同位数的系统下,不同/相同变量占有的大小不同
当申请一块 uint_8* buff 时,系统划分出一个8字节的大小,存储了一个指向随机位置的指针。
buff = (uint_8*)calloc(seizeof(*buff) * 10,0 ); 时,buff指向了一块地址。这块地址保存的都是十个 1字节的uint_8数据。
1 | uint8_t* aa; |
uint8 int float double 怎么在计算机内存储
uint8:占一个字节八位, 无符号数,0~255,算数or逻辑左移右移就是左右移动,舍去移动的位数然后补零
int32 :四个字节32位,有符号数,最高位代表符号。
最大数2147483647的原码为0111 1111 1111 1111 1111 1111 1111 1111
最小数-2147483648的补码表示为1000 0000 0000 0000 0000 0000 0000 0000,在32位没有原码。
对有符号数逻辑左右移动不考虑符号,算数右移补符号位。
float32: 四字节32位,有符号数,最高位代表符号。E代表指数 2E M代表尾数