之前用了一年多的时间来学习模型搭建,深度学习框架,语音基础,语音合成与语音处理等内容。但是模型调好效果,要真正应用于工程,还有很长的路要走。
现在开始逐步深入学习深度学习的工程化内容。
今天第一天,学的比较浅。先把学习内容概括一下:
c++命名空间规范,linux上.o,.h,.c,.so编译与调用机制,Makefile文件编写规范,c++具体一些写法,如template,const又复习了= =,""<>差别,编译可执行文件命令行输入,typeid(*).name()用法(需要#include<typeinfo>),stof和stoi等g++11的语法,#ifdef #endif的复习(忘得太快了= =)。今天的学习大概就是这些了。
至于一些原理什么的实在不想贴别人写的,千篇一律,整理了一些比较好的博客,个人看完感觉比较清晰的,发在这里:
Makefile编写:https://blog.csdn.net/wcl199274/article/details/39140459(解释的很好,但是还有些bug,得自己调)
Makefile编写:https://www.cnblogs.com/sld666666/archive/2010/04/08/1707789.html(我还没调完这个= =)
Makefile规范文档,很标准值得一看,还没看完:https://seisman.github.io/how-to-write-makefile/introduction.html
动态库静态库编译:https://blog.csdn.net/shaoxiaohu1/article/details/46943417
一些用法,直接写在下面了:
template<class T>
T __add__(T const& a, T const % b)
{
T c = a + b;
return c;
}
#ifdef和#endif判断#define,只能判断该.c的库#include<stdio.h>,判断时,命名规范:全改成大写,然后在前后增加_,将.也写成_,如"stdio.h",#ifdef _STDIO_H_ ...就OK。
整体工程化框架(我个人觉得比较清晰):https://www.zhihu.com/question/65171922/answer/495707301
每天工程化的代码,会在github同步更新:https://github.com/forwiat/engineer_study
若有错误,欢迎批评指出!谢谢。