Настраиваем Python для машинного обучения на Windows

Машинное обучение − это просто. Но знаете ли вы, что можно использовать Python для машинного обучения? Вот инструкция по настройке для Windows.

Люди привыкли выполнять большую часть работы автономно. В этой статье рассказываем о возможностях Python для машинного обучения на Windows, описание дистрибутива Anaconda, процесс его установки и создание нейронной сети.

Anaconda и Conda

Настраиваем Python для машинного обучения на Windows

Используемый в Python pip не идеален. Для оптимизации работы был выпущен дистрибутив Anaconda и система управления Conda, которые могут помочь в настройке Python для машинного обучения.

Хотя Conda тесно связана с Anaconda, эти проекты отличаются своими функциями. Anaconda − дистрибутив ПО в экосистеме PyData, которая включает сам Python, а также двоичные файлы для нескольких сторонних проектов. Существует и Miniconda − версия с минимальным исходным пакетом. Conda − система управления пакетами, которая может быть установлена без Anaconda или Miniconda. Она способна решать проблемы внешних зависимостей, путем загрузки скомпилированных версий ПО. Кроме того, Conda является менеджером среды. С ее помощью вы можете настроить отдельную среду. Сейчас мы рассмотрим процесс установки Miniconda.

Установка дистрибутива Miniconda

Скачайте и установите необходимую версию Miniconda на ПК. При установке продвинутых настроек снимите галочку с первого пункта.

Поскольку при установке не был выбран пункт «Add Anaconda to my PATH environment variable», то команды Anaconda не будут работать в командной строке по умолчанию. Для их использования следует запустить дистрибутив отдельно. Когда он откроется, проверьте доступность Conda, запустив conda —version:

(base) C:UsersIEUser>conda —version
conda 4.5.11

12 (base) C:UsersIEUser>conda —versionconda 4.5.11

Чтобы получить больше информации об установке, запустите conda info:

(base) C:UsersIEUser>conda info

active environment : base
active env location : C:UsersIEUserMiniconda3
shell level : 1
user config file : C:UsersIEUser.condarc
populated config files : C:UsersIEUser.condarc
conda version : 4.5.11
conda-build version : not installed
python version : 3.7.0.final.0
base environment : C:UsersIEUserMiniconda3 (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/win-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/win-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/win-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/pro/win-64
https://repo.anaconda.com/pkgs/pro/noarch
https://repo.anaconda.com/pkgs/msys2/win-64
https://repo.anaconda.com/pkgs/msys2/noarch
package cache : C:UsersIEUserMiniconda3pkgs
C:UsersIEUserAppDataLocalcondacondapkgs
envs directories : C:UsersIEUserMiniconda3envs
C:UsersIEUserAppDataLocalcondacondaenvs
C:UsersIEUser.condaenvs
platform : win-64
user-agent : conda/4.5.11 requests/2.19.1 CPython/3.7.0 Windows/10 Windows/10.0.17134
administrator : False
netrc file : None
offline mode : False

12345678910111213141516171819202122232425262728293031 (base) C:UsersIEUser>conda info      active environment : base    active env location : C:UsersIEUserMiniconda3            shell level : 1       user config file : C:UsersIEUser.condarc populated config files : C:UsersIEUser.condarc          conda version : 4.5.11    conda-build version : not installed         python version : 3.7.0.final.0       base environment : C:UsersIEUserMiniconda3  (writable)           channel URLs : https://repo.anaconda.com/pkgs/main/win-64                          https://repo.anaconda.com/pkgs/main/noarch                          https://repo.anaconda.com/pkgs/free/win-64                          https://repo.anaconda.com/pkgs/free/noarch                          https://repo.anaconda.com/pkgs/r/win-64                          https://repo.anaconda.com/pkgs/r/noarch                          https://repo.anaconda.com/pkgs/pro/win-64                          https://repo.anaconda.com/pkgs/pro/noarch                          https://repo.anaconda.com/pkgs/msys2/win-64                          https://repo.anaconda.com/pkgs/msys2/noarch          package cache : C:UsersIEUserMiniconda3pkgs                          C:UsersIEUserAppDataLocalcondacondapkgs       envs directories : C:UsersIEUserMiniconda3envs                          C:UsersIEUserAppDataLocalcondacondaenvs                          C:UsersIEUser.condaenvs               platform : win-64             user-agent : conda/4.5.11 requests/2.19.1 CPython/3.7.0 Windows/10 Windows/10.0.17134          administrator : False             netrc file : None           offline mode : False

Понимание среды Conda

При работе с чужими проектами у вас может возникнуть потребность в установке определенных версий пакетов. Виртуальные среды − решение проблемы. Они позволяют создать несколько сред, каждая из которых имеет разные версии пакетов. Базовая настройка Python для машинного обучения включает в себя Virtualenv, инструмент для создания изолированных сред.

Conda включает собственный менеджер среды и дает некоторые преимущества относительно Virtualenv. Кроме того, среды Conda полностью совместимы с базовыми пакетами Python, которые могут быть установлены с помощью pip.

Используя Anaconda, можно проверить доступные среды Conda, запустив сonda env list:

(base) C:UsersIEUser>conda env list
base * C:UsersIEUserMiniconda3

12 (base) C:UsersIEUser>conda env listbase                  *  C:UsersIEUserMiniconda3

Базовая среда − корневая среда, созданная Miniconda. Можно создать еще одну, под названием otherenv, путем запуска conda create —name otherenv:

(base) C:UsersIEUser>conda create —name otherenv
Solving environment: done

environment location: C:UsersIEUserMiniconda3envsotherenv

Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

1234567891011 (base) C:UsersIEUser>conda create —name otherenvSolving environment: done   environment location: C:UsersIEUserMiniconda3envsotherenv  Proceed ([y]/n)? y Preparing transaction: doneVerifying transaction: doneExecuting transaction: done

После завершения процесса создания среды, можно ее активировать, запустив conda activate otherenv. Заметить изменения среды можно, посмотрев на скобки в начале строки:

(base) C:UsersIEUser>conda activate otherenv

(otherenv) C:UsersIEUser>

123 (base) C:UsersIEUser>conda activate otherenv (otherenv) C:UsersIEUser>

Откройте Python interpreter в этой среде, запустив python:

(otherenv) C:UsersIEUser>python
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type «help», «copyright», «credits» or «license» for more information.
>>>

1234 (otherenv) C:UsersIEUser>pythonPython 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32Type «help», «copyright», «credits» or «license» for more information.>>>

Среда включает в себя Python 3.7.0, ту же версию, что включена в корневую среду. Чтобы выйти, запустите quit():

>>> quit()

(otherenv) C:UsersIEUser>

123 >>> quit() (otherenv) C:UsersIEUser>

Чтобы отключить среду otherenv и вернуться в корневую среду, пропишите deactivate:

(otherenv) C:UsersIEUser>deactivate

(base) C:UsersIEUser>

123 (otherenv) C:UsersIEUser>deactivate (base) C:UsersIEUser>

Conda позволяет легко создавать среды с различными версиями Python. Чтобы включить другую версию в среду, укажите ее, используя python =<version> при запуске conda create. Чтобы создать среду с именем py2 с Python 2.7, запустите conda create —name py2 python=2.7:

(base) C:UsersIEUser>conda create —name py2 python=2.7
Solving environment: done

environment location: C:UsersIEUserMiniconda3envspy2

added / updated specs:
— python=2.7

The following NEW packages will be INSTALLED:

certifi: 2018.8.24-py27_1
pip: 10.0.1-py27_0
python: 2.7.15-he216670_0
setuptools: 40.2.0-py27_0
vc: 9-h7299396_1
vs2008_runtime: 9.00.30729.1-hfaea7d5_1
wheel: 0.31.1-py27_0
wincertstore: 0.2-py27hf04cefb_0

Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(base) C:UsersIEUser>

123456789101112131415161718192021222324252627 (base) C:UsersIEUser>conda create —name py2 python=2.7Solving environment: done   environment location: C:UsersIEUserMiniconda3envspy2   added / updated specs:    — python=2.7  The following NEW packages will be INSTALLED:     certifi:        2018.8.24-py27_1    pip:            10.0.1-py27_0    python:         2.7.15-he216670_0    setuptools:     40.2.0-py27_0    vc:             9-h7299396_1    vs2008_runtime: 9.00.30729.1-hfaea7d5_1    wheel:          0.31.1-py27_0    wincertstore:   0.2-py27hf04cefb_0 Proceed ([y]/n)? y Preparing transaction: doneVerifying transaction: doneExecuting transaction: done (base) C:UsersIEUser>

Как видно из вывода conda create, были установлены новые пакеты, так как среда использует Python 2.7. Можно проверить, что среда действительно использует его, активировав Python interpreter:

(base) C:UsersIEUser>conda activate py2

(py2) C:UsersIEUser>python
Python 2.7.15 |Anaconda, Inc.| (default, May 1 2018, 18:37:09) [MSC v.1500 64 bit (AMD64)] on win32
Type «help», «copyright», «credits» or «license» for more information.
>>>

123456 (base) C:UsersIEUser>conda activate py2 (py2) C:UsersIEUser>pythonPython 2.7.15 |Anaconda, Inc.| (default, May  1 2018, 18:37:09) [MSC v.1500 64 bit (AMD64)] on win32Type «help», «copyright», «credits» or «license» for more information.>>>

Теперь, если вы запустите conda env list, можно увидеть две среды, которые были созданы вами:

(py2) C:UsersIEUser>conda env list

base C:UsersIEUserMiniconda3
otherenv C:UsersIEUserMiniconda3envsotherenv
py2 * C:UsersIEUserMiniconda3envspy2

(py2) C:UsersIEUser>

12345678 (py2) C:UsersIEUser>conda env list base                     C:UsersIEUserMiniconda3otherenv                 C:UsersIEUserMiniconda3envsotherenvpy2               *  C:UsersIEUserMiniconda3envspy2  (py2) C:UsersIEUser>

Asterisk указывает на активную среду. Ее можно удалить, выполнив команду conda remove —name <environment name> —all:

(py2) C:UsersIEUser>deactivate

(base) C:UsersIEUser>conda remove —name py2 —all

Remove all packages in environment C:UsersIEUserMiniconda3envspy2:

environment location: C:UsersIEUserMiniconda3envspy2

The following packages will be REMOVED:

certifi: 2018.8.24-py27_1
pip: 10.0.1-py27_0
python: 2.7.15-he216670_0
setuptools: 40.2.0-py27_0
vc: 9-h7299396_1
vs2008_runtime: 9.00.30729.1-hfaea7d5_1
wheel: 0.31.1-py27_0
wincertstore: 0.2-py27hf04cefb_0

Proceed ([y]/n)? y

(base) C:UsersIEUser>

123456789101112131415161718192021222324 (py2) C:UsersIEUser>deactivate (base) C:UsersIEUser>conda remove —name py2 —all Remove all packages in environment C:UsersIEUserMiniconda3envspy2:   environment location: C:UsersIEUserMiniconda3envspy2  The following packages will be REMOVED:     certifi:        2018.8.24-py27_1    pip:            10.0.1-py27_0    python:         2.7.15-he216670_0    setuptools:     40.2.0-py27_0    vc:             9-h7299396_1    vs2008_runtime: 9.00.30729.1-hfaea7d5_1    wheel:          0.31.1-py27_0    wincertstore:   0.2-py27hf04cefb_0 Proceed ([y]/n)? y  (base) C:UsersIEUser>

Управление базовыми пакетами с помощью Conda

Пакеты ПО могут быть установлены с помощью Conda. Корневая база Miniconda включает в себя базовые пакеты, которые не являются частью стандартной библиотеки Python для настройки машинного обучения.

Установка по умолчанию включает минимум пакетов Conda. Чтобы проверить список установленных пакетов, нужно убедиться, что она активна, и запустить conda list. В корневой среде устанавливаются эти пакеты:

(base) C:UsersIEUser>conda list

asn1crypto 0.24.0 py37_0
ca-certificates 2018.03.07 0
certifi 2018.8.24 py37_1
cffi 1.11.5 py37h74b6da3_1
chardet 3.0.4 py37_1
conda 4.5.11 py37_0
conda-env 2.6.0 1
console_shortcut 0.1.1 3
cryptography 2.3.1 py37h74b6da3_0
idna 2.7 py37_0
menuinst 1.4.14 py37hfa6e2cd_0
openssl 1.0.2p hfa6e2cd_0
pip 10.0.1 py37_0
pycosat 0.6.3 py37hfa6e2cd_0
pycparser 2.18 py37_1
pyopenssl 18.0.0 py37_0
pysocks 1.6.8 py37_0
python 3.7.0 hea74fb7_0
pywin32 223 py37hfa6e2cd_1
requests 2.19.1 py37_0
ruamel_yaml 0.15.46 py37hfa6e2cd_0
setuptools 40.2.0 py37_0
six 1.11.0 py37_1
urllib3 1.23 py37_0
vc 14 h0510ff6_3
vs2015_runtime 14.0.25123 3
wheel 0.31.1 py37_0
win_inet_pton 1.0.1 py37_1
wincertstore 0.2 py37_0
yaml 0.1.7 hc54c509_2

(base) C:UsersIEUser>

12345678910111213141516171819202122232425262728293031323334 (base) C:UsersIEUser>conda list asn1crypto                0.24.0                   py37_0ca-certificates           2018.03.07                    0certifi                   2018.8.24                py37_1cffi                      1.11.5           py37h74b6da3_1chardet                   3.0.4                    py37_1conda                     4.5.11                   py37_0conda-env                 2.6.0                         1console_shortcut          0.1.1                         3cryptography              2.3.1            py37h74b6da3_0idna                      2.7                      py37_0menuinst                  1.4.14           py37hfa6e2cd_0openssl                   1.0.2p               hfa6e2cd_0pip                       10.0.1                   py37_0pycosat                   0.6.3            py37hfa6e2cd_0pycparser                 2.18                     py37_1pyopenssl                 18.0.0                   py37_0pysocks                   1.6.8                    py37_0python                    3.7.0                hea74fb7_0pywin32                   223              py37hfa6e2cd_1requests                  2.19.1                   py37_0ruamel_yaml               0.15.46          py37hfa6e2cd_0setuptools                40.2.0                   py37_0six                       1.11.0                   py37_1urllib3                   1.23                     py37_0vc                        14                   h0510ff6_3vs2015_runtime            14.0.25123                    3wheel                     0.31.1                   py37_0win_inet_pton             1.0.1                    py37_1wincertstore              0.2                      py37_0yaml                      0.1.7                hc54c509_2 (base) C:UsersIEUser>

Поиск и установка пакетов

Пакеты устанавливаются из репозиториев, называемых channels by Conda. Чтобы выполнить поиск определенного пакета, запустите поиск <package name>. Вот так вы будете искать keras:

(base) C:UsersIEUser>conda search keras
Loading channels: done

keras 2.0.8 py35h15001cb_0 pkgs/main
keras 2.0.8 py36h65e7a35_0 pkgs/main
keras 2.1.2 py35_0 pkgs/main
keras 2.1.2 py36_0 pkgs/main
keras 2.1.3 py35_0 pkgs/main
keras 2.1.3 py36_0 pkgs/main

… (more)

1234567891011 (base) C:UsersIEUser>conda search kerasLoading channels: done keras                     2.0.8  py35h15001cb_0  pkgs/mainkeras                     2.0.8  py36h65e7a35_0  pkgs/mainkeras                     2.1.2          py35_0  pkgs/mainkeras                     2.1.2          py36_0  pkgs/mainkeras                     2.1.3          py35_0  pkgs/mainkeras                     2.1.3          py36_0  pkgs/main … (more)

Для каждой версии существуют разные версии пакетов и сборки. Предыдущий поиск показывает только пакеты с именем keras. Чтобы выполнить более широкий поиск, используйте *. Например, при запуске conda search *keras*, вы получите следующее:

(base) C:UsersIEUser>conda search *keras*
Loading channels: done

keras 2.0.8 py35h15001cb_0 pkgs/main
keras 2.0.8 py36h65e7a35_0 pkgs/main
keras 2.1.2 py35_0 pkgs/main
keras 2.1.2 py36_0 pkgs/main
keras 2.1.3 py35_0 pkgs/main
keras 2.1.3 py36_0 pkgs/main

… (more)

keras-applications 1.0.2 py35_0 pkgs/main
keras-applications 1.0.2 py36_0 pkgs/main
keras-applications 1.0.4 py35_0 pkgs/main

… (more)

keras-base 2.2.0 py35_0 pkgs/main
keras-base 2.2.0 py36_0 pkgs/main

… (more)

12345678910111213141516171819202122 (base) C:UsersIEUser>conda search *keras*Loading channels: done keras                     2.0.8  py35h15001cb_0  pkgs/mainkeras                     2.0.8  py36h65e7a35_0  pkgs/mainkeras                     2.1.2          py35_0  pkgs/mainkeras                     2.1.2          py36_0  pkgs/mainkeras                     2.1.3          py35_0  pkgs/mainkeras                     2.1.3          py36_0  pkgs/main … (more) keras-applications           1.0.2          py35_0  pkgs/mainkeras-applications           1.0.2          py36_0  pkgs/mainkeras-applications           1.0.4          py35_0  pkgs/main … (more) keras-base                2.2.0          py35_0  pkgs/mainkeras-base                2.2.0          py36_0  pkgs/main … (more)

Вы можете заметить, что в каналах по умолчанию есть и другие пакеты, связанные с keras.

Чтобы установить пакет, запустите conda install <package name>. По умолчанию самая новая версия пакета будет установлена в активной среде. Установите пакет keras в среду otherenv, созданную вами:

(base) C:UsersIEUser>conda activate otherenv

(otherenv) C:UsersIEUser>conda install keras
Solving environment: done

environment location: C:UsersIEUserMiniconda3envsotherenv

added / updated specs:
— keras

The following NEW packages will be INSTALLED:

_tflow_1100_select: 0.0.3-mkl
absl-py: 0.4.1-py36_0
astor: 0.7.1-py36_0
blas: 1.0-mkl
certifi: 2018.8.24-py36_1
gast: 0.2.0-py36_0
grpcio: 1.12.1-py36h1a1b453_0
h5py: 2.8.0-py36h3bdd7fb_2
hdf5: 1.10.2-hac2f561_1
icc_rt: 2017.0.4-h97af966_0
intel-openmp: 2018.0.3-0
keras: 2.2.2-0
keras-applications: 1.0.4-py36_1
keras-base: 2.2.2-py36_0
keras-preprocessing: 1.0.2-py36_1
libmklml: 2018.0.3-1
libprotobuf: 3.6.0-h1a1b453_0
markdown: 2.6.11-py36_0
mkl: 2019.0-117
mkl_fft: 1.0.4-py36h1e22a9b_1
mkl_random: 1.0.1-py36h77b88f5_1
numpy: 1.15.1-py36ha559c80_0
numpy-base: 1.15.1-py36h8128ebf_0
pip: 10.0.1-py36_0
protobuf: 3.6.0-py36he025d50_0
python: 3.6.6-hea74fb7_0
pyyaml: 3.13-py36hfa6e2cd_0
scipy: 1.1.0-py36h4f6bf74_1
setuptools: 40.2.0-py36_0
six: 1.11.0-py36_1
tensorboard: 1.10.0-py36he025d50_0
tensorflow: 1.10.0-mkl_py36hb361250_0
tensorflow-base: 1.10.0-mkl_py36h81393da_0
termcolor: 1.1.0-py36_1
vc: 14-h0510ff6_3
vs2013_runtime: 12.0.21005-1
vs2015_runtime: 14.0.25123-3
werkzeug: 0.14.1-py36_0
wheel: 0.31.1-py36_0
wincertstore: 0.2-py36h7fe50ca_0
yaml: 0.1.7-hc54c509_2
zlib: 1.2.11-h8395fce_2

Proceed ([y]/n)?

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 (base) C:UsersIEUser>conda activate otherenv (otherenv) C:UsersIEUser>conda install kerasSolving environment: done   environment location: C:UsersIEUserMiniconda3envsotherenv   added / updated specs:    — keras  The following NEW packages will be INSTALLED:     _tflow_1100_select:  0.0.3-mkl    absl-py:             0.4.1-py36_0    astor:               0.7.1-py36_0    blas:                1.0-mkl    certifi:             2018.8.24-py36_1    gast:                0.2.0-py36_0    grpcio:              1.12.1-py36h1a1b453_0    h5py:                2.8.0-py36h3bdd7fb_2    hdf5:                1.10.2-hac2f561_1    icc_rt:              2017.0.4-h97af966_0    intel-openmp:        2018.0.3-0    keras:               2.2.2-0    keras-applications:  1.0.4-py36_1    keras-base:          2.2.2-py36_0    keras-preprocessing: 1.0.2-py36_1    libmklml:            2018.0.3-1    libprotobuf:         3.6.0-h1a1b453_0    markdown:            2.6.11-py36_0    mkl:                 2019.0-117    mkl_fft:             1.0.4-py36h1e22a9b_1    mkl_random:          1.0.1-py36h77b88f5_1    numpy:               1.15.1-py36ha559c80_0    numpy-base:          1.15.1-py36h8128ebf_0    pip:                 10.0.1-py36_0    protobuf:            3.6.0-py36he025d50_0    python:              3.6.6-hea74fb7_0    pyyaml:              3.13-py36hfa6e2cd_0    scipy:               1.1.0-py36h4f6bf74_1    setuptools:          40.2.0-py36_0    six:                 1.11.0-py36_1    tensorboard:         1.10.0-py36he025d50_0    tensorflow:          1.10.0-mkl_py36hb361250_0    tensorflow-base:     1.10.0-mkl_py36h81393da_0    termcolor:           1.1.0-py36_1    vc:                  14-h0510ff6_3    vs2013_runtime:      12.0.21005-1    vs2015_runtime:      14.0.25123-3    werkzeug:            0.14.1-py36_0    wheel:               0.31.1-py36_0    wincertstore:        0.2-py36h7fe50ca_0    yaml:                0.1.7-hc54c509_2    zlib:                1.2.11-h8395fce_2 Proceed ([y]/n)?

Conda управляет необходимыми функциями для пакета. Так как у keras их много, при его установке Conda позволяет установить большой список пакетов.

Поскольку новая сборка keras использует Python 3.6, а среда otherenv была создана с использованием Python 3.7, пакет python 3.6.6 был включен как зависимость. После подтверждения установки вы сможете проверить, что версия Python для среды otherenv была понижена до версии 3.6.6.

Но если вы не хотите понижать версию вашего пакета, просто создайте новую среду с необходимой версией Python. Чтобы проверить список пакетов и прочего, необходимого для ее установки, посмотрите на параметр —dry-run:

(otherenv) C:UsersIEUser>conda install keras —dry-run

1 (otherenv) C:UsersIEUser>conda install keras —dry-run

При необходимости можно изменить базовую версию Python среды Conda, установив определенную версию пакета python. Создайте новую среду под названием envpython:

<span class=»gp»>(otherenv) C:UsersIEUser&gt;</span>conda create —name envpython
<span class=»go»>Solving environment: done</span>

<span class=»go»> environment location: C:UsersIEUserMiniconda3envsenvpython</span>

<span class=»go»>Proceed ([y]/n)? y</span>

<span class=»go»>Preparing transaction: done</span>
<span class=»go»>Verifying transaction: done</span>
<span class=»go»>Executing transaction: done</span>

1234567891011 <span class=»gp»>(otherenv) C:UsersIEUser&gt;</span>conda create —name envpython<span class=»go»>Solving environment: done</span> <span class=»go»>  environment location: C:UsersIEUserMiniconda3envsenvpython</span>  <span class=»go»>Proceed ([y]/n)? y</span> <span class=»go»>Preparing transaction: done</span><span class=»go»>Verifying transaction: done</span><span class=»go»>Executing transaction: done</span>

Поскольку корневая среда использует Python 3,7, создается envpython с этой же версией.

(base) C:UsersIEUser>conda activate envpython

(envpython) C:UsersIEUser>python
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type «help», «copyright», «credits» or «license» for more information.
>>> quit()

(envpython) C:UsersIEUser>

12345678 (base) C:UsersIEUser>conda activate envpython (envpython) C:UsersIEUser>pythonPython 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32Type «help», «copyright», «credits» or «license» for more information.>>> quit() (envpython) C:UsersIEUser>

Чтобы установить определенную версию пакета , запустите conda install <package name>=<version>. Вот так вы установите Python 3.6 в среду envpython:

(envpython) C:UsersIEUser>conda install python=3.6
Solving environment: done

environment location: C:UsersIEUserMiniconda3envsenvpython

added / updated specs:
— python=3.6

The following NEW packages will be INSTALLED:

certifi: 2018.8.24-py36_1
pip: 10.0.1-py36_0
python: 3.6.6-hea74fb7_0
setuptools: 40.2.0-py36_0
vc: 14-h0510ff6_3
vs2015_runtime: 14.0.25123-3
wheel: 0.31.1-py36_0
wincertstore: 0.2-py36h7fe50ca_0

Proceed ([y]/n)?

123456789101112131415161718192021 (envpython) C:UsersIEUser>conda install python=3.6Solving environment: done   environment location: C:UsersIEUserMiniconda3envsenvpython   added / updated specs:    — python=3.6  The following NEW packages will be INSTALLED:     certifi:        2018.8.24-py36_1    pip:            10.0.1-py36_0    python:         3.6.6-hea74fb7_0    setuptools:     40.2.0-py36_0    vc:             14-h0510ff6_3    vs2015_runtime: 14.0.25123-3    wheel:          0.31.1-py36_0    wincertstore:   0.2-py36h7fe50ca_0 Proceed ([y]/n)?

Если вам нужно установить несколько пакетов, запустите conda install, указав имена пакетов. Вот как вы установите numpy, scipy и matplotlib:

(envpython) C:UsersIEUser>deactivate

(base) C:UsersIEUser>conda install numpy scipy matplotlib
Solving environment: done

environment location: C:UsersIEUserMiniconda3

added / updated specs:
— matplotlib
— numpy
— scipy

The following packages will be downloaded:

package | build
—————————|——————
libpng-1.6.34 | h79bbb47_0 1.3 MB
mkl_random-1.0.1 | py37h77b88f5_1 267 KB
intel-openmp-2019.0 | 117 1.7 MB
qt-5.9.6 | vc14h62aca36_0 92.5 MB
matplotlib-2.2.3 | py37hd159220_0 6.5 MB
tornado-5.1 | py37hfa6e2cd_0 668 KB
pyqt-5.9.2 | py37ha878b3d_0 4.6 MB
pytz-2018.5 | py37_0 232 KB
scipy-1.1.0 | py37h4f6bf74_1 13.5 MB
jpeg-9b | hb83a4c4_2 313 KB
python-dateutil-2.7.3 | py37_0 260 KB
numpy-base-1.15.1 | py37h8128ebf_0 3.9 MB
numpy-1.15.1 | py37ha559c80_0 37 KB
mkl_fft-1.0.4 | py37h1e22a9b_1 120 KB
kiwisolver-1.0.1 | py37h6538335_0 61 KB
pyparsing-2.2.0 | py37_1 96 KB
cycler-0.10.0 | py37_0 13 KB
freetype-2.9.1 | ha9979f8_1 470 KB
icu-58.2 | ha66f8fd_1 21.9 MB
sqlite-3.24.0 | h7602738_0 899 KB
sip-4.19.12 | py37h6538335_0 283 KB
————————————————————
Total: 149.5 MB

The following NEW packages will be INSTALLED:

blas: 1.0-mkl
cycler: 0.10.0-py37_0
freetype: 2.9.1-ha9979f8_1
icc_rt: 2017.0.4-h97af966_0
icu: 58.2-ha66f8fd_1
intel-openmp: 2019.0-117
jpeg: 9b-hb83a4c4_2
kiwisolver: 1.0.1-py37h6538335_0
libpng: 1.6.34-h79bbb47_0
matplotlib: 2.2.3-py37hd159220_0
mkl: 2019.0-117
mkl_fft: 1.0.4-py37h1e22a9b_1
mkl_random: 1.0.1-py37h77b88f5_1
numpy: 1.15.1-py37ha559c80_0
numpy-base: 1.15.1-py37h8128ebf_0
pyparsing: 2.2.0-py37_1
pyqt: 5.9.2-py37ha878b3d_0
python-dateutil: 2.7.3-py37_0
pytz: 2018.5-py37_0
qt: 5.9.6-vc14h62aca36_0
scipy: 1.1.0-py37h4f6bf74_1
sip: 4.19.12-py37h6538335_0
sqlite: 3.24.0-h7602738_0
tornado: 5.1-py37hfa6e2cd_0
zlib: 1.2.11-h8395fce_2

Proceed ([y]/n)?

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 (envpython) C:UsersIEUser>deactivate (base) C:UsersIEUser>conda install numpy scipy matplotlibSolving environment: done   environment location: C:UsersIEUserMiniconda3   added / updated specs:    — matplotlib    — numpy    — scipy  The following packages will be downloaded:     package                    |            build    —————————|——————    libpng-1.6.34              |       h79bbb47_0         1.3 MB    mkl_random-1.0.1           |   py37h77b88f5_1         267 KB    intel-openmp-2019.0        |              117         1.7 MB    qt-5.9.6                   |   vc14h62aca36_0        92.5 MB    matplotlib-2.2.3           |   py37hd159220_0         6.5 MB    tornado-5.1                |   py37hfa6e2cd_0         668 KB    pyqt-5.9.2                 |   py37ha878b3d_0         4.6 MB    pytz-2018.5                |           py37_0         232 KB    scipy-1.1.0                |   py37h4f6bf74_1        13.5 MB    jpeg-9b                    |       hb83a4c4_2         313 KB    python-dateutil-2.7.3      |           py37_0         260 KB    numpy-base-1.15.1          |   py37h8128ebf_0         3.9 MB    numpy-1.15.1               |   py37ha559c80_0          37 KB    mkl_fft-1.0.4              |   py37h1e22a9b_1         120 KB    kiwisolver-1.0.1           |   py37h6538335_0          61 KB    pyparsing-2.2.0            |           py37_1          96 KB    cycler-0.10.0              |           py37_0          13 KB    freetype-2.9.1             |       ha9979f8_1         470 KB    icu-58.2                   |       ha66f8fd_1        21.9 MB    sqlite-3.24.0              |       h7602738_0         899 KB    sip-4.19.12                |   py37h6538335_0         283 KB    ————————————————————                                           Total:       149.5 MB The following NEW packages will be INSTALLED:     blas:            1.0-mkl    cycler:          0.10.0-py37_0    freetype:        2.9.1-ha9979f8_1    icc_rt:          2017.0.4-h97af966_0    icu:             58.2-ha66f8fd_1    intel-openmp:    2019.0-117    jpeg:            9b-hb83a4c4_2    kiwisolver:      1.0.1-py37h6538335_0    libpng:          1.6.34-h79bbb47_0    matplotlib:      2.2.3-py37hd159220_0    mkl:             2019.0-117    mkl_fft:         1.0.4-py37h1e22a9b_1    mkl_random:      1.0.1-py37h77b88f5_1    numpy:           1.15.1-py37ha559c80_0    numpy-base:      1.15.1-py37h8128ebf_0    pyparsing:       2.2.0-py37_1    pyqt:            5.9.2-py37ha878b3d_0    python-dateutil: 2.7.3-py37_0    pytz:            2018.5-py37_0    qt:              5.9.6-vc14h62aca36_0    scipy:           1.1.0-py37h4f6bf74_1    sip:             4.19.12-py37h6538335_0    sqlite:          3.24.0-h7602738_0    tornado:         5.1-py37hfa6e2cd_0    zlib:            1.2.11-h8395fce_2 Proceed ([y]/n)?

Обновление и удаление пакетов

Иногда вам будет нужно обновлять пакеты. Для этого запустите conda update <package name>. Если вы хотите обновить все пакеты, активируйте среду и запустите conda update —all.
Чтобы удалить пакеты, пропишите conda remove <package name>, но помните, что при удалении пакета, все зависимые от него тоже удалятся:

(base) C:UsersIEUser>conda remove numpy
Solving environment: done

environment location: C:UsersIEUserMiniconda3

removed specs:
— numpy

The following packages will be REMOVED:

matplotlib: 2.2.3-py37hd159220_0
mkl_fft: 1.0.4-py37h1e22a9b_1
mkl_random: 1.0.1-py37h77b88f5_1
numpy: 1.15.1-py37ha559c80_0
scipy: 1.1.0-py37h4f6bf74_1

Proceed ([y]/n)?

123456789101112131415161718 (base) C:UsersIEUser>conda remove numpySolving environment: done   environment location: C:UsersIEUserMiniconda3   removed specs:    — numpy  The following packages will be REMOVED:     matplotlib: 2.2.3-py37hd159220_0    mkl_fft:    1.0.4-py37h1e22a9b_1    mkl_random: 1.0.1-py37h77b88f5_1    numpy:      1.15.1-py37ha559c80_0    scipy:      1.1.0-py37h4f6bf74_1 Proceed ([y]/n)?

Использование каналов

Иногда вы не сможете найти нужные вам пакеты на базовых каналах. Вот так вы будете устанавливать pytorch:

(base) C:UsersIEUser>conda search pytorch
Loading channels: done

PackagesNotFoundError: The following packages are not available from current channels:

— pytorch

Current channels:

— https://repo.anaconda.com/pkgs/main/win-64
— https://repo.anaconda.com/pkgs/main/noarch
— https://repo.anaconda.com/pkgs/free/win-64
— https://repo.anaconda.com/pkgs/free/noarch
— https://repo.anaconda.com/pkgs/r/win-64
— https://repo.anaconda.com/pkgs/r/noarch
— https://repo.anaconda.com/pkgs/pro/win-64
— https://repo.anaconda.com/pkgs/pro/noarch
— https://repo.anaconda.com/pkgs/msys2/win-64
— https://repo.anaconda.com/pkgs/msys2/noarch

To search for alternate channels that may provide the conda package you’re
looking for, navigate to

https://anaconda.org

and use the search bar at the top of the page.

1234567891011121314151617181920212223242526 (base) C:UsersIEUser>conda search pytorchLoading channels: done PackagesNotFoundError: The following packages are not available from current channels:   — pytorch Current channels:   — https://repo.anaconda.com/pkgs/main/win-64  — https://repo.anaconda.com/pkgs/main/noarch  — https://repo.anaconda.com/pkgs/free/win-64  — https://repo.anaconda.com/pkgs/free/noarch  — https://repo.anaconda.com/pkgs/r/win-64  — https://repo.anaconda.com/pkgs/r/noarch  — https://repo.anaconda.com/pkgs/pro/win-64  — https://repo.anaconda.com/pkgs/pro/noarch  — https://repo.anaconda.com/pkgs/msys2/win-64  — https://repo.anaconda.com/pkgs/msys2/noarch To search for alternate channels that may provide the conda package you’relooking for, navigate to     https://anaconda.org and use the search bar at the top of the page.

В случае, если будете искать pytorch на сайте anaconda, вы получите следующие результаты:

Настраиваем Python для машинного обучения на Windows

В канале pytorch имеется пакет под названием pytorch с версией 0.4.1. Чтобы установить пакет с определенного канала, используйте параметр -c <chanel> вместе с conda install:

(base) C:UsersIEUser>conda install -c pytorch pytorch
Solving environment: done

environment location: C:UsersIEUserMiniconda3

added / updated specs:
— pytorch

The following packages will be downloaded:

package | build
—————————|——————
pytorch-0.4.1 |py37_cuda90_cudnn7he774522_1 590.4 MB pytorch

The following NEW packages will be INSTALLED:

pytorch: 0.4.1-py37_cuda90_cudnn7he774522_1 pytorch

Proceed ([y]/n)?

1234567891011121314151617181920 (base) C:UsersIEUser>conda install -c pytorch pytorchSolving environment: done   environment location: C:UsersIEUserMiniconda3   added / updated specs:    — pytorch  The following packages will be downloaded:     package                    |            build    —————————|——————    pytorch-0.4.1              |py37_cuda90_cudnn7he774522_1       590.4 MB  pytorch The following NEW packages will be INSTALLED:     pytorch: 0.4.1-py37_cuda90_cudnn7he774522_1 pytorch Proceed ([y]/n)?

Также можно добавить канал, чтобы Conda производила там поиск пакетов. Чтобы посмотреть текущие каналы, запустите conda config —get channels:

(base) C:UsersIEUser>conda config —get channels
—add channels ‘defaults’

(base) C:UsersIEUser>

1234 (base) C:UsersIEUser>conda config —get channels—add channels ‘defaults’   (base) C:UsersIEUser>

Когда у вас появится множество каналов,нужно будет выставить приоритет. Чтобы добавить канал с наименьшим приоритетом в список, запустите conda config —append channels <channel name>. С наивысшим − conda config —prepend channels <channel name>. Рекомендуется выставлять новым каналам низкий приоритет, чтобы продолжить использовать каналы по умолчанию. Таким образом, вы можете установить pytorch, добавив канал pytorch и запустив conda install pytorch:

(base) C:UsersIEUser>conda config —append channels pytorch

(base) C:UsersIEUser>conda config —get channels
—add channels ‘pytorch’ # lowest priority
—add channels ‘defaults’ # highest priority

(base) C:UsersIEUser>conda install pytorch
Solving environment: done

environment location: C:UsersIEUserMiniconda3

added / updated specs:
— pytorch

The following packages will be downloaded:

package | build
—————————|——————
pytorch-0.4.1 |py37_cuda90_cudnn7he774522_1 590.4 MB pytorch

The following NEW packages will be INSTALLED:

pytorch: 0.4.1-py37_cuda90_cudnn7he774522_1 pytorch

Proceed ([y]/n)?

1234567891011121314151617181920212223242526 (base) C:UsersIEUser>conda config —append channels pytorch (base) C:UsersIEUser>conda config —get channels—add channels ‘pytorch’   # lowest priority—add channels ‘defaults’   # highest priority (base) C:UsersIEUser>conda install pytorchSolving environment: done   environment location: C:UsersIEUserMiniconda3   added / updated specs:    — pytorch  The following packages will be downloaded:     package                    |            build    —————————|——————    pytorch-0.4.1              |py37_cuda90_cudnn7he774522_1       590.4 MB  pytorch The following NEW packages will be INSTALLED:     pytorch: 0.4.1-py37_cuda90_cudnn7he774522_1 pytorch Proceed ([y]/n)?

Использование Pip в среде Conda

Иногда при настройке Python для машинного обучения вам могут понадобиться чистые пакеты Python, которые будут недоступны на каналах Conda. Например, Unipath.

Вы сможете найти пакет, используя другой канал. Но так как unipath − чистый пакет Python, то можно использовать pip для его установки. Следует использовать pip, установленный conda create:

<span class=»go»>conda create —name newproject</span>

1 <span class=»go»>conda create —name newproject</span>

Чтобы установить pip, активируйте среду и установите пакет Conda:

(base) C:UsersIEUser>conda activate newproject

(newproject) C:UsersIEUser>conda install pip
Solving environment: done

environment location: C:UsersIEUserMiniconda3envsnewproject

added / updated specs:
— pip

The following NEW packages will be INSTALLED:

certifi: 2018.8.24-py37_1
pip: 10.0.1-py37_0
python: 3.7.0-hea74fb7_0
setuptools: 40.2.0-py37_0
vc: 14-h0510ff6_3
vs2015_runtime: 14.0.25123-3
wheel: 0.31.1-py37_0
wincertstore: 0.2-py37_0

Proceed ([y]/n)?

1234567891011121314151617181920212223 (base) C:UsersIEUser>conda activate newproject (newproject) C:UsersIEUser>conda install pipSolving environment: done   environment location: C:UsersIEUserMiniconda3envsnewproject   added / updated specs:    — pip  The following NEW packages will be INSTALLED:     certifi:        2018.8.24-py37_1    pip:            10.0.1-py37_0    python:         3.7.0-hea74fb7_0    setuptools:     40.2.0-py37_0    vc:             14-h0510ff6_3    vs2015_runtime: 14.0.25123-3    wheel:          0.31.1-py37_0    wincertstore:   0.2-py37_0 Proceed ([y]/n)?

Наконец, используйте pip, чтобы установить unipath:

(newproject) C:UsersIEUser>pip install unipath
Collecting unipath
Installing collected packages: unipath
Successfully installed unipath-1.1
You are using pip version 10.0.1, however version 18.0 is available.
You should consider upgrading via the ‘python -m pip install —upgrade pip’ command.

(newproject) C:UsersIEUser>

12345678 (newproject) C:UsersIEUser>pip install unipathCollecting unipathInstalling collected packages: unipathSuccessfully installed unipath-1.1You are using pip version 10.0.1, however version 18.0 is available.You should consider upgrading via the ‘python -m pip install —upgrade pip’ command. (newproject) C:UsersIEUser>

После установки вы можете посмотреть на пакеты с помощью conda list и проверить, что Unipath был установлен:

(newproject) C:UsersIEUser>conda list

certifi 2018.8.24 py37_1
pip 10.0.1 py37_0
python 3.7.0 hea74fb7_0
setuptools 40.2.0 py37_0
Unipath 1.1 <pip>
vc 14 h0510ff6_3
vs2015_runtime 14.0.25123 3
wheel 0.31.1 py37_0
wincertstore 0.2 py37_0

(newproject) C:UsersIEUser>

12345678910111213 (newproject) C:UsersIEUser>conda list certifi                   2018.8.24                py37_1pip                       10.0.1                   py37_0python                    3.7.0                hea74fb7_0setuptools                40.2.0                   py37_0Unipath                   1.1                       <pip>vc                        14                   h0510ff6_3vs2015_runtime            14.0.25123                    3wheel                     0.31.1                   py37_0wincertstore              0.2                      py37_0 (newproject) C:UsersIEUser>

Также можно использовать пакеты из системы VSC с помощью pip. Чтобы активировать supervisor, version 4.0.0dev0. доступный в репозитории Git, для начала установите последний:

(newproject) C:UsersIEUser> conda install git

1 (newproject) C:UsersIEUser> conda install git

Теперь установите supervisor, используя pip, с помощью репозитория Git:

(newproject) pip install -e git://github.com/Supervisor/supervisor@abef0a2be35f4aae4a4edeceadb7a213b729ef8d#egg=supervisor

1 (newproject) pip install -e git://github.com/Supervisor/[email protected]#egg=supervisor

После завершения установки supervisor будет указан в списке установленных пакетов:

(newproject) C:UsersIEUser>conda list

certifi 2018.8.24 py37_1
git 2.18.0 h6bb4b03_0
meld3 1.0.2 <pip>
pip 10.0.1 py37_0
python 3.7.0 hea74fb7_0
setuptools 40.2.0 py37_0
supervisor 4.0.0.dev0 <pip>

… (more)

1234567891011 (newproject) C:UsersIEUser>conda list certifi                   2018.8.24                py37_1git                       2.18.0               h6bb4b03_0meld3                     1.0.2                     <pip>pip                       10.0.1                   py37_0python                    3.7.0                hea74fb7_0setuptools                40.2.0                   py37_0supervisor                4.0.0.dev0                <pip> … (more)

Простой пример машинного обучения

XOR gate − ещё один момент, который стоит знать в процессе настройки Python для машинного обучения: используя Conda обучите нейронную сеть функционировать как XOR gate

XOR gate реализуют операцию OR. Требуется два цифровых входа, равные 0 или 1. И вывода, 1 (true) и 0 (false). Таблица ниже суммирует операции XOR gate:

Настраиваем Python для машинного обучения на Windows

Операцию XOR можно интерпретировать как classification problem, потому что она принимает два входа и должна классифицировать их как 0 или 1 в зависимости от того, равны они друг другу или нет. Именно этот пример обычно используется в качестве первого случая обучения нейронной сети, поскольку он прост, но в то же время требует нелинейного классификатора, такого как нейронная сеть. Чтобы реализовать нейронную сеть, создайте среду Conda, названную nnxor:

(base) C:UsersIEUser>conda create nnxor

1 (base) C:UsersIEUser>conda create nnxor

Теперь активируйте и установите пакет keras:

(base) C:UsersIEUser>conda activate nnxor

(nnxor) C:UsersIEUser>conda install keras

123 (base) C:UsersIEUser>conda activate nnxor (nnxor) C:UsersIEUser>conda install keras

keras − высокоуровневый API, который упрощает внедрение нейронных сетей поверх известных библиотек, таких как TensorFlow. Обучите следующую нейронную сеть действовать как XOR gate:

Настраиваем Python для машинного обучения на Windows

Сеть берет два входа (A, B) и передает их двум нейронам, показанными большими кругами. Затем она принимает входные данные этих нейронов и подает их на выходной нейрон, который должен обеспечивать классификацию в соответствии с таблицей XOR.

Процесс обучения состоит в том, чтобы настроить значения w_1 до w_6, чтобы выход соответствовал таблице. Для этого входные примеры начнут подаваться по одному, вывод станет рассчитываться с текущими значениями, и, сравнивая вывод с желаемым, значения будут корректироваться.

Для этого создайте папку с именем nnxor в директории (C:UsersIEUser) с файлом под именем nnxor.py, чтобы сохранить программу Python для реализации нейронной сети.

Настраиваем Python для машинного обучения на Windows

В файле nnxor.py выберите сеть для обучения и тестирования:

import numpy as np
np.random.seed(444)

from keras.models import Sequential
from keras.layers.core import Dense, Activation
from keras.optimizers import SGD

X = np.array([[0, 0],
[0, 1],
[1, 0],
[1, 1]])
y = np.array([[0], [1], [1], [0]])

model = Sequential()
model.add(Dense(2, input_dim=2))
model.add(Activation(‘sigmoid’))
model.add(Dense(1))
model.add(Activation(‘sigmoid’))

sgd = SGD(lr=0.1)
model.compile(loss=’mean_squared_error’, optimizer=sgd)

model.fit(X, y, batch_size=1, epochs=5000)

if __name__ == ‘__main__’:
print(model.predict(X))

1234567891011121314151617181920212223242526 import numpy as npnp.random.seed(444) from keras.models import Sequentialfrom keras.layers.core import Dense, Activationfrom keras.optimizers import SGD X = np.array([[0, 0],               [0, 1],              [1, 0],              [1, 1]])y = np.array([[0], [1], [1], [0]]) model = Sequential()model.add(Dense(2, input_dim=2))model.add(Activation(‘sigmoid’))model.add(Dense(1))model.add(Activation(‘sigmoid’)) sgd = SGD(lr=0.1)model.compile(loss=’mean_squared_error’, optimizer=sgd) model.fit(X, y, batch_size=1, epochs=5000) if __name__ == ‘__main__’:    print(model.predict(X))

Импортируйте numpy, инициализируйте случайный seed, чтобы можно было воспроизвести те же результаты при повторном запуске программы и импортировать keras, используемый в сети.

Определите массив X, содержащий 4 возможных набора A-B входов, и массив y, содержащий выходные данные.

Следующие пять строк сформируют нейронную сеть. Модель Sequental() − одна из моделей keras для определения нейронной сети. Определите первый слой из двух входных нейронов, определив их функцию активации в качестве sigmond function. Затем обозначьте входной слой их одного нейрона с той же функцией активации.

Следующие две строки определяют детали обучения сети. Чтобы настроить параметры, используйте Stochastic Gradient Descent с оптимальной скоростью обучения, равной 0,1. Наконец, выполните обучение с помощью fit(), используя X и Y в качестве примеров обучения, после того, как каждый пример будет загружен в сеть (batch_size=1). Число epochs представляет собой количество попыток обучения сети.

В этом случае вы повторяете операцию 5500 раз, используя обучающий набор, содержащий 4 примера ввода и вывода. После обращения нейросети к исходным данным тренировочные варианты перемешиваются заново.

На последней строке вы печатаете прогнозируемые значения 4 возможных примеров ввода.

(nnxor) C:UsersIEUser>cd nnxor

(nnxor) C:UsersIEUsernnxor>python nnxor.py
Using TensorFlow backend.
Epoch 1/5000
2018-09-16 09:49:05.987096: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
2018-09-16 09:49:05.993128: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
4/4 [==============================] — 0s 39ms/step — loss: 0.2565
Epoch 2/5000
4/4 [==============================] — 0s 0us/step — loss: 0.2566
Epoch 3/5000
4/4 [==============================] — 0s 0us/step — loss: 0.2566
Epoch 4/5000
4/4 [==============================] — 0s 0us/step — loss: 0.2566
Epoch 5/5000
4/4 [==============================] — 0s 0us/step — loss: 0.2566
Epoch 6/5000
4/4 [==============================] — 0s 0us/step — loss: 0.2566

123456789101112131415161718 (nnxor) C:UsersIEUser>cd nnxor (nnxor) C:UsersIEUsernnxor>python nnxor.pyUsing TensorFlow backend.Epoch 1/50002018-09-16 09:49:05.987096: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX22018-09-16 09:49:05.993128: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.4/4 [==============================] — 0s 39ms/step — loss: 0.2565Epoch 2/50004/4 [==============================] — 0s 0us/step — loss: 0.2566Epoch 3/50004/4 [==============================] — 0s 0us/step — loss: 0.2566Epoch 4/50004/4 [==============================] — 0s 0us/step — loss: 0.2566Epoch 5/50004/4 [==============================] — 0s 0us/step — loss: 0.2566Epoch 6/50004/4 [==============================] — 0s 0us/step — loss: 0.2566

После обучения, вы можете проверить прогнозы, которые дает сеть для возможных входных значений:

Epoch 4997/5000
4/4 [==============================] — 0s 0us/step — loss: 0.0034
Epoch 4998/5000
4/4 [==============================] — 0s 0us/step — loss: 0.0034
Epoch 4999/5000
4/4 [==============================] — 0s 0us/step — loss: 0.0034
Epoch 5000/5000
4/4 [==============================] — 0s 0us/step — loss: 0.0034
[[0.0587215 ]
[0.9468337 ]
[0.9323144 ]
[0.05158457]]

123456789101112 Epoch 4997/50004/4 [==============================] — 0s 0us/step — loss: 0.0034Epoch 4998/50004/4 [==============================] — 0s 0us/step — loss: 0.0034Epoch 4999/50004/4 [==============================] — 0s 0us/step — loss: 0.0034Epoch 5000/50004/4 [==============================] — 0s 0us/step — loss: 0.0034[[0.0587215 ] [0.9468337 ] [0.9323144 ] [0.05158457]]

Как вы определите X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]]), ожидаемые входные округленные значения станут равны 0,1,1 и 0, что согласуется с прогнозами сети.

Машинное обучение применяется в различных областях, охватывая все большую аудиторию. Тем не менее, создание среды может быть сложней задачей. В этой статье вы узнали об основах создания среды Python на Windows с использованием Anaconda. Теперь, когда у вас есть основа, пришло время начать работу с настоящими приложениями.

Понравилась статья о настройке Python для машинного обучения? Возможно, вам понравится следующее:

  • Работа с документацией в Python: поиск информации и соглашения
  • Машинное обучение за год
  • Машинное обучение для самых маленьких

Источник: Настройка Python для машинного обучения on Realpython

Настраиваем Python для машинного обучения на Windows

Просмотров:

Добавить комментарий