参考:论文Batch DropBlock Network for Person Re-identification and Beyond 全文翻译简单解读以及代码理解复现
进入文件夹操作:
当前位置 cd .
上一级文件位置 cd …
返回上一步操作 cd -
进入Home文件 cd ~
显示文件路径 pwd
文件及文件夹操作:
创建文件 touch
创建文件夹 mkdir
创建多重文件夹 mkdir -p
删除文件 rm
删除文件夹 rmdir
batch-drop readme:
This project requires python3, cython, torch, torchvision, scikit-learn, tensorboardX, fire.
评价:
--save_dir='./pytorch-ckpt/market_bfe' 存储名字要改
--model_name=bfe
--train_batch=32
--test_batch=32
--dataset=market1501
--pretrained_model='./pytorch-ckpt/market_bfe/944.pth.tar'
--evaluate
## attention readme:
python train.py -s market1501 -t market1501 \
--flip-eval --eval-freq 1 \
--label-smooth \
--criterion htri \
--lambda-htri 0.1 \
--data-augment crop random-erase \
--margin 1.2 \
--train-batch-size 64 \
--height 384 \
--width 128 \
--optim adam --lr 0.0003 \
--stepsize 20 40 \
--gpu-devices 4,5 \
--max-epoch 80 \
--save-dir path/to/dir \
--arch resnet50 \
--use-of \
--abd-dan cam pam \
--abd-np 2 \
--shallow-cam \
--use-ow
### 首先:
conda activate pytorch1.3
- 进入数据集所在位置
- python 数据集所在位置
数据集
tr 481 30058 20
qu 200 1678 19
ga 200 11579 19
遇到问题:
问题: 程序运行没有报错,但是也无法获得结果。
错误原因:是进入了程序中的文件—未解决
报错问题:ModuleNotFoundError: No module named 'tensorboardX'
解决:首先进入环境后,pip install tensorboardX
报错问题:字符串和 数组之间的关系 [] 看看调用的是字符串还是组–很重要 这是基础知识
常见报错汇总
程序调试方法
‘print’ 语句
这是一个基本的调试问题的方法。 我们在程序中怀疑的地方插入print语句来了解程序的运行流程控制流和变量值的改变。 这是一个最简单的技术, 它的缺点。 需要进行程序编辑,添加’print’语句,必须重新编译,重新运行来获得输出。若需要调试的程序比较大,这将是一个耗时费力的方法。
理论学习
- 1*1卷积(基于升维降维的设计)
代码学习
首先需要知道的是所有的采样器都继承自Sampler
这个类,如下:
可以看到主要有三种方法:分别是:
`__init__:` 这个很好理解,就是初始化
`__iter__:` 这个是用来产生迭代索引值的,也就是指定每个step需要读取哪些数据
`__len__:` 这个是用来返回每次迭代器的长度
- 绝对路径
>>> os.path.abspath("/etc/sysconfig/selinux")
'/etc/sysconfig/selinux'
>>> os.getcwd()
'/root'
>>> os.path.abspath("python_modu")
'/root/python_modu'
几个可以参考的链接:
从0开始行人在识别
解决code问题
在Linux服务器上运行机器学习/深度学习python程序