北理工慕课《Python机器学习应用》环境配置

慕课上的北理工《Python机器学习应用》课程的环境配置。

课程内容主要是在 Windows 环境下利用 Python 的 Scikit-learn 库和 tensorflow 库进行机器学习的实践,理论讲解不多,主要是提供一个快速动手实践,体验简单工程的方式。

因为课程是2017年开设的,一些库的版本有了升级,配置要求也有了变化,笔者折腾了很久才配置好:

C:\Users\VITA>python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import scipy
>>> import matplotlib
>>> import sklearn
>>> import cv2
>>> import pygame
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
>>> import tensorflow
2020-03-29 17:32:24.446008: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
2020-03-29 17:32:24.453973: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.

上面调用 tensorflow 库跳出的提示是针对挂载 GPU 的场景,直接忽略就好了。

踩坑的过程就不细述了,这里记录一下可行的配置过程,如果有后来学习北理工《Python机器学习应用》的小伙伴,不要再按课程给的方法去做了,参照这个过程实测可以顺利配置。


第一步进入下载库的网页:https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

下载下图中列出的库,包括:numpy、scipy、matplotlib、pandas、Pillow、scikit_image、opencv、pygame。

北理工慕课《Python机器学习应用》环境配置_第1张图片

这里不要下载 scikit-learn!笔者找到的匹配 Python3.7 和 64 位系统的只有 0.22 版本:

北理工慕课《Python机器学习应用》环境配置_第2张图片

按照课程的方法下载下来之后 import sklearn 的时候显示前置库都无误,但是就是会报错:

ImportError: DLL load failed: 找不到指定的模块。

找了一堆帖子,卸载前置库 numpy、scipy、matplotlib 重装也试了很多次,依旧报错,最后终于在一篇帖子上找到了解决办法:安装版本低于 0.22 的 scikit-learn 库,这里贴上链接(https://blog.csdn.net/xinxue205/article/details/103562169),万分感谢大佬!

网站上没有匹配的库,于是笔者就用 pip install 去找 0.21 版本的 scikit-learn 库来下载,下文会介绍到。


这里还提醒一点:要匹配你的电脑的操作系统(64位还是32位),要匹配你用的 Python 版本,如果不知道,可以找到电脑属性查看位数、通过终端查看 Python 版本:

北理工慕课《Python机器学习应用》环境配置_第3张图片

C:\Users\VITA>python --version
Python 3.7.3

 笔者是 64 位系统,用的是 Python3.7。

下载过程会很慢,几 kb 到 几十 kb 的速度,还可能会中途下载错误,重新下载就好,或者去找国内的镜像库,不熟悉的话还是建议慢慢下,不然可能又会有别各种奇怪的不兼容问题。


下载结束之后,把下载下来的库集中放在一个文件夹下,在文件夹中按住 shift 点击鼠标右键,选择打开 shell ,接着用 pip install 命令按如下顺序操作,分成三部分简述一下:

1:
pip install numpy-1.18.2+mkl-cp37-cp37m-win_amd64.whl

pip install scipy-1.4.1-cp37-cp37m-win_amd64.whl

pip install matplotlib-3.2.1-cp37-cp37m-win_amd64.whl

2:
pip install Pillow-7.0.0-cp37-cp37m-win_amd64.whl

pip install pandas-1.0.3-cp37-cp37m-win_amd64.whl

pip install scikit_image-0.16.2-cp37-cp37m-win_amd64.whl

pip install scikit_learn==0.21.3

3:
pip install opencv_python-4.2.0-cp37-cp37m-win_amd64.whl

pip install pygame-1.9.6-cp37-cp37m-win_amd64.whl

pip install tensorflow

 


第一部分

numpy、scipy、matploylib 都没问题,按课程方法就 ok 了,pip install 后面的内容和你下载下来的文件名一致,笔者这里贴的是我自己的文件名。


第二部分

前说过,不能直接从网站上下载 0.22 版本的 scikit_learn。直接用 < pip install 库名 > 的指令,让电脑自己找 URL 去下载,电脑会查询前置库是否匹配,不匹配会自动先下前置库,但是 Windows 上很容易下载进度条走到一半就报错,然后就是一大片红字。笔者就在下载前置库 pillow 时卡住了,于是去网站上找,手动下下来安装。

这里还结合了 scikit_learn 官网上(https://pypi.org/project/scikit-learn/)给出的信息:小部分情况下还会用到 scikit_image 和 panda 两个前置库,于是笔者也手动装了一下。

scikit-learn requires:

    Python (>= 3.5)
    NumPy (>= 1.11.0)
    SciPy (>= 0.17.0)
    joblib (>= 0.11)

Scikit-learn 0.20 was the last version to support Python 2.7 and Python 3.4. scikit-learn 0.21 and later require Python 3.5 or newer.

Scikit-learn plotting capabilities (i.e., functions start with plot_ and classes end with “Display”) require Matplotlib (>= 1.5.1). For running the examples Matplotlib >= 1.5.1 is required. A few examples require scikit-image >= 0.12.3, a few examples require pandas >= 0.18.0.

每个人下载过程遇到的问题可能都不同,但是可以参照笔者的方法,先尝试 pip install scikit_learn==0.21.3 ,下载哪个前置库卡住了,就去网站上找到,找不到那就只能用 pip install 自动下载,不行就多试几次,这样迭代着做,最后就 ok 了。


第三部分

这部分按照课程方法也没问题,要注意的就是 tensorflow 库在网站上也能找到,但是笔者试下载下来再安装会报错,那就直接 pip install 好了。


祝各位都能顺利完成配置,做一个愉快地调库侠!

你可能感兴趣的:(机器学习实战)