时间飞快,又到月底,强制自己写下这一个月的学习和实践情况,并对参考资料做一下梳理。
(一)先照计划学习叶韵[19]、小甲鱼[3]等人的书,一边学习Python语法,一边搭建Python-OpenCV环境,并将语法重点向OpenCV倾斜,动手做了实验,利用文献中的示例代码实现了摄像机和视频文件的读取,对在Python中调用cv2算法有了一定了解。同时查找和梳理了较有价值的参考资料。叶韵的《深度学习与计算机视觉》一书(相关资源https://frombeijingwithlove.github.io/),这本书在三个方面值得一读,一是把DL和CV的基础数学知识进行了很形象的定性讲解,有助于理解消化这些知识;二是对Python和OpenCV的编程特点进行了入门级介绍;三是对实现DL的一些工具结合实例进行了讲解,不包括TensorFlow。另外开始学习ZedA. Shaw的《笨办法学Python3》[20],觉得这本书完全站在初学者的角度,帮助你脚踏实地、循序渐进的学习训练和理解代码特点。
(二)学了部分ML和DL理论知识,计划快速读完后与应用软件对应画一个知识体系图。参考书主要是[16,17,18],周志华的《机器学习》[16]是一本ML入门教材,讲的知识体系比较全面,深入浅出,可以帮助我们迅速了解ML。如果想在DL方面系统学习,则要读Ian Goodfellow、Yoshua Bengio和Aaron Courville合著的《深度学习》[8],该书中文和英文电子版可在下面网站获得(https://blog.csdn.net/qianqing13579/article/details/71076261),目前没有时间看,准备做了TF的简单实验后再读。
(三)结合参考文献[2]进一步了解scikit-learn工具包,下载了相关代码和参考资料。主要是学习Jupyter Notebook的使用方法,并用它来转换ipynb格式文件至py格式文件,进而使用spyder工具进行代码分析。这本书正好可以作为[16,17,18]理论知识的实验补充,从实验角度理解和应用ML。
(四)进行TensorFlow环境安装,包括CPU版和GPU版的,这项工作经历的波折和困难最多,走了很多弯路和大坑,查找了很多资料,最后终于在win7和Anaconda3下安装成功,将会专门写一篇文章进行总结。
(五)下面是一些比较有参考价值的资料信息:
1.怎样找到scikit-learn的源码、说明文档以及书本教程的示例代码?
scikit-learn库见http://scikit-learn.org/stable/documentation;读代码时可参考《scikit-learn-docs》,网址http://scikit-learn.org/stable/_downloads/scikit-learn-docs.pdf。在使用过程中,如需要单独下载samples_generator.py源代码,可到http://www.bvbcode.com/cn/aozy5kbr-2565497,下载整个scikit-learn源代码的.py文件可到http://www.bvbcode.com/cn/aozy5kbr。Andreas C.Muller的《Python机器学习基础教程》[2]即《Introduction to Machine Learning with Python》,书中示例代码网址https://github.com/amueller/introduction_to_ml_with_python。
2.怎样找到最新的OpenCV说明文档和示例代码?
OpenCV的学习,我是先找到了段力辉翻译的《OpenCV-Python 中文教程OpenCV官方教程中文版(For Python)》PDF文件,不过是2014年的,3.0版,在实验时代码还是有一些变化,需要自己动手解决。为获得最新的说明文档和示例代码,最好找到他在文中提到的OpenCV documentation index所在的网站https://docs.opencv.org/3.4.0/,其中OpenCVmodules 下面的OpenCV-PythonTutorials,都是最新的代码和说明,极为全面详细,便于深入理解和研究,但是对英文要求较高。
3.怎样找到Python说明文档?
由于我是Python初学者,很多函数不熟悉,书本主要讲函数的含义和应用,但是函数的参数和细节还要看说明文档。最简单的方法是可以选中该函数,按cont+i,会在右侧Help标签栏显示信息,另外查看帮助文档方法如下:(https://blog.csdn.net/csdn_0_001/article/details/79550784)
例如准备使用time模块,使用time模块的localtime函数,使用range类在已经分清模块,函数,类的情况下开始测试。
方法一
在python命令行输入以下内容
help(time) # 很详细的模块文档
help(time.localtime()) # 很详细的函数文档
help(range) # 很详细的类的文档
方法二
在python命令行输入以下内容
print(time.__doc__) # 较详细的模块文档
print(time.localtime().__doc__) # 较详细的函数文档
print(range.__doc__) # 较详细的类的文档
方法三
在python命令行输入以下内容
print(dir(time)) # 简略的模块函数显示
print(dir(time.localtime())) # 简略的函数参数显示
print(dir(range)) # 简略的类构造函数参数显示
方法四
在python命令行中输入help(),然后再次输入time,可以获得很详细的模块文档
或者输入time.localtime,可以获得简略的函数参数显示,或者输入range,可以获得很详细的类的文档。
参考文献(文中未涉及的参考文献可参考上一篇体会)
[1] 范淼,李超.Python机器学习及实践——从零开始通往Kaggle竞赛之路[M].北京:清华大学出版社,2016.
[2] Andreas C. Muller,SarahGuido.Python机器学习基础教程[M].北京:人民邮电出版社,2018.
[3]李佳宇.零基础入门学Python[M].北京:清华大学出版社,2016.
[4]张平.OpenCV算法精解:基于Python与C++[M].北京:电子工业出版社,2017.
[5]钟义信.人工智能历史研究需要的共同语言:术语的规范.
[6]Mitchell T M,CarbonellJ G,Michalski RS.Machine Learning[M].McGraw-Hill,2003.
[7]邓力,俞栋.深度学习:方法及应用[M].北京:机械工业出版社,2015.
[8] IanGoodfellow, YoshuaBengio,AaronCourville.深度学习[M].北京:人民邮电出版社,2017.
[9]郑泽宇,梁博文,顾思宇.TensorFlow实战Google深度学习框架[M].北京:电子工业出版社,2018.
[10]罗冬日.TensorFlow入门与实战[M].北京:人民邮电出版社,2018.
[11]黄文坚,唐源.TensorFlow实战[M].中国中信出版社.
[12]李嘉璇.TenserFlow技术解析与实战[M].北京:人民邮电出版社,2017.
[13]大塚弘记.Github入门与实践[M].北京:人民邮电出版社,2018.
[14]Peter Bell,BrentBeer. Github入门[M].北京:中国电力出版社,2015.
[15] ChrisDawson.Github实践[M].北京:人民邮电出版社,2016.
[16]周志华. 机器学习 : =Machine learning[M]. 北京:清华大学出版社,2016.
[17]Ethen Alpaydin.机器学习导论[M].北京:机械工业出版社,2015.
[18]神经网络与机器学习[M].北京:机械工业出版社,2015.
[19]叶韵. 深度学习与计算机视觉 算法原理、框架应用与代码实现[M] .北京:机械工业出版社,2017.
[20]Zed A. Shaw.笨办法学Python3[M].北京:人民邮电出版社,2018.