这篇博客是作为非计软科班出身的我记录的一些经验,希望得到交流和批评
目录
环境配置
见环境配置的代码
通过文件命名了解项目
demo
通常是运行测试的文件
测试的意思是,如果项目比较大,我们可能希望跑一个小示例,先看看项目的效果再决定要不要深入研究这个项目
代码运行的入口
通常叫train.py 或者main.py,最简单的情况就是点击直接运行,或者在命令行中输入参数运行
比如:
python visualize.py --dataset coco --coco_path C:/Users/mage/Desktop/coco2017/annotations_train2017 --model ./coco_resnet_50_map_0_335_state_dict.pt
python xxx.py 意思是运行 xxx.py
--dataset coco 意思是参数dataset的值是coco
--coco_path C:/... 意思是参数coco_path的值是C:/...
设定参数的文件
通常叫default.py,或者config.py
build
通常包含现有的自定义模块以及关联的文件,比如
thirdparty 依赖的第三方库
include 头文件(自己写的)
src 源文件(自己写的)
bin 生成的可执行文件
lib 生成的中间的库文件
build 编译产生的中间文件
example 测试或者中间文件
cmakelists.txt
autobuild.sh一件编译 实际里面执行的就是cmake
通过代码了解项目
@装饰器
@classmethod 就是python 装饰器的写法之一,其作用是可以向已经写好的代码中添加功能,就像对函数又进行了一层的包装。
比如上图就是将test函数包装转换为类方法。
- 装饰器写法一(不带@)
def make_pretty(func):
def inner():
print("I got decorated")
func()
return inner
def ordinary():
print("I am ordinary")
pretty = make_pretty(ordinary)
pretty()
>>> I got decorated
I am ordinary
make_pretty()
就是一个修饰器,在pretty = make_pretty(ordinary)
语句中,ordinary
函数被修饰
- 装饰器写法二(常见,带@)
def make_pretty(func):
def inner():
print("I got decorated")
func()
return inner
@make_pretty
def ordinary():
print("I am ordinary")
ordinary()
>>> I got decorated
I am ordinary
一些交流时用到的术语
在与别人讨论代码时,可能会听到这些词
API
应用程序编程接口:把需要的功能打包好,写成一个函数。直接调用函数来使用需要的功能
(22 封私信 / 84 条消息) 想问一下什么是API,具体是什么意思? - 知乎 (zhihu.com)
交流或者开始自己敲代码时可能用到的知识
待续