安全性研究学习小结

知识点

markdown

引用

编程

2022年1月学习小结

这篇文章是为了记录一下自己学习的收获和踩到的坑,是为了勉励自己,可读性不是很强,主要记录方向为深度学习安全性问题和学习中的一些扩展,会随着学习不断更新。目前属于两眼一摸黑的状态,欢迎一起交流学习。

研究代码

UCF-101的处理终于有思路了,但是目前进度比较慢。

  1. 数据集能够按照思路正常处理,目前正常处理中
  2. 实现了将数据集上传到服务器上,本地有数据集服务器上也有数据集的功能。(服务器无法正常通信现在,可能是因为数据太大了,需要研究一下)

批处理操作

cmd批量操作文件

cmd最坑的是,能对文件进行批处理(能用正则表达式),但是不能对文件夹进行批处理
python脚本能够用正则表达式进行批处理

但是写了个批量删除,运行速度也不快,和手动删除不相上下,只写了一个for循环和一个判断,不知道问题出在哪里。

import os
import re
import shutil

path = r'H:\dataset\data\jpegs_256'
dirs = os.listdir(path)	#获取当前路径下的所有文件夹

for i in dirs:		#遍历所有当前路径下的文件
    res = re.match('v_', i)
    if res:
        # print(i)
        shutil.rmtree(path,'/',i)
# 速度太慢了

下一步的尝试:学习bash脚本的规则,以批处理文件夹等

python的批量移动、重命名、删除

  1. 完成了一个预处理ucf-101的代码研究,原来是H:\dataset\data\UCF-101\ApplyEyeMakeup\v_applyeyemakeup_g01_c01.avi这样的文件,在经过运行之后会变成H:\dataset\data\UCF-101\ApplyEyeMakeup\v_applyeyemakeup_g01_c01\1.jpg这种形式

H:\dataset\视频保存为图片.py

  1. 完成了文件批量剪切(复制)的操作,
dataset_path = r'H:\dataset\data\jpegs_256'
video_paths = glob.glob(os.path.join(dataset_path, "*"))
print(video_paths)
for i, video_path in enumerate(video_paths):
    sequence_type = video_path.split("_")[2]
    # video_path: H:\\dataset\\data\\jpegs_256\\v_WritingOnBoard_g04_c04
    sequence_path = os.path.join(dataset_path,sequence_type)
    if os.path.exists(sequence_path):
        continue
    os.makedirs(sequence_path, exist_ok=False)
    # 创建文件夹
    # sequence_path: H:\\dataset\\data\\jpegs_256\\YoYo

    src = video_path
    dst = sequence_path
    shutil.move(src,dst)
    # 剪切文件夹到dst下
  1. 没有完成data文件夹下101个子文件夹中的帧重命名工作,即我们要分别重命名101个文件夹中的所有图片文件,frame000001 -> 1.jpg,涉及到了字符串的格式化
    这个要写两个for循环,但是我外面的大循环没写好,因此没完成重命名。
std = str(n).rjust(6,'0')
oldname=path+i+'/'+f'frame{std}'+'.jpg'
#设置新文件名
newname=path+i+'/'+str(n)+'.jpg'
  1. 完成了批量删除的功能,但是速度实在是太慢了,见这里

正则表达式

(1.24)囫囵吞枣,只学了一些最简单的通配符的用法

bash语言

windows下了git bash,可以用这个运行bash脚本

目录:D:\git\Git

服务器上跑bash脚本,如果用wget下东西的话,可能要这样用,--no-check-certificate

版本管理

git

(1.24前)简单知道了git的用法,如pull push等。但是不太熟练,表现为不愿意使用、也不愿意使用服务器,害怕文件管理不当。只能希望以后尽快熟练了。
简单小结为:打开vscode记得先pull最新数据,代码在本地或者云端使用v2分支编写(多分支太混乱了,而且不要最好不要直接使用main分支,会直接更改云端版本,没法merge),编写完之后push到版本中,并上传云端github就好了。
确定这个版本可用,没有问题,就可以在github中合并到mian分支中,合并完就删除就可以了。
其实pull可以省略,只要记得push就好(push的时候会顺便pull

python和site-package版本管理

这方面真是一个大坑,涉及到了pip,anaconda等问题,挺烦的

markdown

交叉引用的实现
用法1

[需要跳转的文本](#test1)
其中[…]是显示的内容,(#test1)是引用的标签,
id="…"是需要引用的标签,<a>…</a>是html语法
<a id=“test1”>锚点</a>

用法2

<a href="#test2">需要跳转的文本</a>
用法2就不需要加[]了,
用这种方式可以实现各种交叉引用(但是不是参考文献那种能标号的)
<a id=“test2”>标题2</a>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值