严厉声明:本文章具有夸张的表演成分,只是想编程变得更加有趣刺激一点,实际上并未做出任何违法或者有损他人利益的事情。
今日间谍任务目标👑
🎈现有一个2G的文件夹data,请非法将data伪装并骗过安检人员带出来,嘘!🤫
刺激间谍第零步:清除且不保留任何记录
操作命令行 ,先
set +o history
”不保存history历史记录 “
再,
history -c
“ 清除本次终端的history ”
刺激间谍第一步:加密
加密的目的不由多说,就是使得我们压缩好的zip压缩包,解压缩unzip时需要输入密码,密码正确才可以解压缩。
NOTE:就算被警惕的安检人员怀疑,想打开也打不开🤫!
压缩🍉
zip -re yolo7-e6e-large.pt data
指令指南:
- 第一个参数re | r:压缩文件夹 e:加密压缩。
- 第二个参数yolo7-e6e-large-400epoch.pt | 压缩后文件的名称,可以不是zip为后缀。
- 第三个参数data | 有眼睛就看得懂。
解压缩🍉
测试一下能不能压缩回来,不然到时候好不容易带出来发现文件损坏,不得哭死/(ㄒoㄒ)/~~!
rm -rf data
unzip yolo7-e6e-large.pt
检查完毕再运行第一条命令删除data,防止之后的文件冲突。
刺激间谍第二步:分卷压缩
传统的zip分卷压缩是和zip加密独立而开的,即当且仅当使用了其中一个,就不可以使用另一个的互斥关系。所以我们选择使用split来分卷压缩:
split -b 200M -d -a 1 yolo7-e6e-large.pt
指令指南
- 第二个参数200M | 平均分为n个文件,每个文件200M大小,不足就剩下多少是多少。
- 第五个参数是数字“1”,而不是字母“l"。
输入命令前 ls 结果:
yolo7-e6e-large.pt
输入命令后 ls 结果:(这里假设分为了五个文件,实际上根据实际决定)
yolo7-e6e-large.pt x0 x1 x2 x3 x4
至此,其实就差最后一步就完成了,但是我们还得照常测试一下是否分卷成功:
cat x* > total.zip
输入命令后结果:
yolo7-e6e-large.pt total.zip x0 x1 x2 x3 x4
rm data
unzip total.zip
重新得到data文件检查无误后:
rm yolo7-e6e-large.pt rm total.zip
最后我们只需要运行
mv x0 yolo7-e6e-large-100epoch.pt
mv x1 yolo7-e6e-large-200epoch.pt
mv x2 yolo7-e6e-large-300epoch.pt
mv x3 yolo7-e6e-large-400epoch.pt
mv x4 yolo7-e6e-large-500epoch.pt
就大功告成啦!
前/
(base)user@:~/models$ ls
data
-------------------------------------------------------------------------------------------
后/
(base)user@:~/models$ ls
yolo7-e6e-large-100epoch.pt yolo7-e6e-large-200epoch.pt yolo7-e6e-large-300epoch.pt yolo7-e6e-large-400epoch.pt yolo7-e6e-large-500epoch.pt
是不是已经成功伪装为一个普普通通的用于存放模型的命名为models的文件夹。在此基础上修改文件结构为:
'''
| - yolo7-train
| - train_code.zip
| - log
| - utils
| - yolo
| - infer_upload.py
| - requestments.txt
| - models
| - yolo7-e6e-large-100epoch.pt
| - yolo7-e6e-large-200epoch.pt
| - yolo7-e6e-large-300epoch.pt
| - yolo7-e6e-large-400epoch.pt
| - yolo7-e6e-large-500epoch.pt
'''
作为一个合格的间谍,我们得考虑真实痕迹的重要性,哪怕到这一步,我们缺乏了一个非常重要的真实痕迹,不知道大家想到没有?
答案:跑起一个yolo训练,留下训练的痕迹才就天衣无缝惹!
监视训练:🍉
# 进入容器后输入,监控CPU、线程等的使用
histop
# 监控显卡使用
watch -n 1 nvidia-smi