CentOS7で機械学習の環境をさくっと作る手順

  • 8
    Like
  • 0
    Comment

はじめに

中古パソコンを使って機械学習の環境を整備するということを始めたので、備忘のために手順をメモしておきます。

主な手順

  1. CentOSのダウンロードとインストール
  2. yumにてPython3関連のソフトウェア取得
  3. pip3にてPython3のライブラリ取得
  4. Jupyter Notebookの設定

CentOSのダウンロードとインストール

以下のリンク先でisoファイルを入手できます。

Download CentOS

isoファイルのデータをDVDまたはUSBメモリに書き込み、パソコンへインストールします。
インストールが終われば、再起動してログイン。

IPアドレスを確認するために以下のコマンドを実行。

$ ip addr show | grep inet

SSHは最初からインストールされている(はずな)ので、好みによって別の端末からアクセスも可能。

Python3および関連ソフトウェアのインストール

yumのリポジトリを追加。

sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm

以下のコマンドを実行。

$ sudo yum -y install -y python35u python35u-libs python35u-devel python35u-pip

インストールができたかどうか、以下のコマンドで確認。

$ python3.5 -V
Python 3.5.4

pipも確認。

$ pip3.5 -V
pip 9.0.1 from /usr/lib/python3.5/site-packages (python 3.5)

ライブラリの取得

必要なソフトウェアを追加。

$ sudo yum -y install lapack-devel freetype freetype-devel libpng-devel

以下のコマンドを実行。

$ sudo pip3.5 install numpy scipy matplotlib seaborn scikit-learn jupyter

インストールできたかを以下のコマンドで確認。

$ jupyter --version
4.3.0

Jupyter Notebookの設定

以下のコマンドを実行。

$ cd
$ mkdir notebook
$ jupyter notebook --generate-config
$ echo "c.NotebookApp.ip = '*'" >> ~/.jupyter/jupyter_notebook_config.py
$ echo "c.NotebookApp.notebook_dir = 'notebook'" >> ~/.jupyter/jupyter_notebook_config.py

ファイアウォールのポート番号8888を開放。

$ sudo firewall-cmd --zone=public --add-port=8888/tcp

以下のコマンドを実行し、他のPCからアクセスできるか確認。

$ jupyter notebook

Matplotlibに日本語フォントを追加

以下のコマンドを実行。

$ sudo yum -y install wget unzip
$ cd
$ wget http://dforest.watch.impress.co.jp/library/i/ipafont/10483/IPAfont00303.zip
$ unzip IPAfont00303.zip
$ sudo mv IPAfont00303/*.ttf /usr/lib64/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf/
$ rm ~/.cache/matplotlib/*.cache

確認

Jupyter Notebookで、以下のスクリプトを記述して実行。

%matplotlib inline
import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.rcParams['font.family']='IPAGothic'
mpl.rcParams['font.size']=12

plt.plot([1,3,4,6], label="テスト")
plt.legend()

Unknown.png

できた(^-^)/

ついでに、以下の記事のスクリプトもきちんと動作することを確認!

データシティ鯖江のオープンデータを使って水位計の値を機械学習で予測してみる パート2