新人开始接触深度学习,写这片两个目的:
1.记录一下自己的学习之路,也是强迫自己用写博客的方式,整理思维。
2.相信很多的新人小伙伴最开始无处下手,也是为了大家一起学习。
开始正题。
(一)本人最开始电脑系统为win8_x64。奈何兼容性太差,python3.6 和python3.5一直出现安装不正确问题,比如缺少.dll,导致无法启动,没有安装vc_redist.x64.exe,导致编译不成功。(都是可以直接去微软官网下载)具体的下载地址本文就不给出了,因为我相信win8系统下,大部分还是无法正常安装的。经过查看大量资料以后,一个坑解决后,又会出现另外一个坑,反反复复三次以后,放弃安装,重装系统win7_x64。一切顺利,首先第一步python3.5安装成功。个人认为python官网并没有完全测试好win8的兼容性,如果有类似的小伙伴在前两个问题解决后仍无法正常使用python,直接换系统吧。
(二)果然,在换掉win7后,一切顺利,可以正常使用python的常规功能(现在为python3.6)。当然不管是机器学习还是深度学习,都需要下载扩展包,比如最基础的numpy,scikit-learn,matplotlib,tensorflow,notebook……不一一列举了。但是不幸的是,不是编译器有问题。常见问题
1.我们在windows下通过pip安装一些外部Python 模块(比如,pycrypto)时通常会遇到安装失败的问题,而且会看到类似这样的错误提示:
error: Microsoft Visual C++ 9.0isrequired (Unable tofind vcvarsall.bat).Get it from http://aka.ms/vcpython2
或者
error: Unable to find vcvarsall.bat
经过我花了大量时间查看了一下安装代码,有这么一个文件python3.6/Lib/distutils/msvccompiler.py
def get_build_version():
"""Return the version of MSVC that was used to build Python.
For Python 2.3 and up, the version number is included in
sys.version. For earlier versions, assume the compiler is MSVC 6.
"""
prefix = "MSC v."
i = string.find(sys.version, prefix)
if i == -1:
return 6
i = i + len(prefix)
s, rest = sys.version[i:].split(" ", 1)
majorVersion = int(s[:-2]) - 6
minorVersion = int(s[2:3]) / 10.0
# I don't think paths are affected by minor version in version 6
if majorVersion == 6:
minorVersion = 0
if majorVersion >= 6:
return majorVersion + minorVersion
# else we don't know what version of the compiler this is
return None
majorVersion = int(s[:-2]) - 6
minorVersion = int(s[2:3]) / 10.0
这是个什么呢?听我给你分析一下。
在CMD中,输入python
“MSC V.”后面那个数字1500就是编译当前Python所使用的VC的版本信息,但还不是我们要找的那个内部版本号,我们要从这个版本信息中找到主版本号majorVersion和次版本号minorVersion,majorVersion + minorVersion
的结果才是我们要找那个内部版本号。
MSV=1900,
majorVersion=19-6=13
如果majorVersion >=13 => 14
minorVersion=0.0
所以
majorVersion + minorVersion=14.0版本的编译器
所以我选我了VS2015
下载地址:http://www.cncrk.com/downinfo/146696.html 里面有专业版和企业版的密钥。
好像有点跑偏了,我们继续……