情報系学生の備忘録

情弱系情報系学生が情強になるために残すメモです。

macの起動音を消す方法

ターミナルで

[消す時]

sudo nvram SystemAudioVolume=%80

[戻す時]

sudo nvram -d SystemAudioVolume

[音量の確認]

nvram -p | grep SystemAudioVolume

pythonの軸を日本語化する手順

意外にハマったので、手順を示す.

基本は以下に従う.

【Seaborn】日本語を表示する (フォントを変更する) - Qiita

ポイントは, matplotlibの設定ファイルの場所を探してフォントを追加

import matplotlib as mpl
print(mpl.matplotlib_fname())

seabornの設定ファイルを書き換える

81行目辺り

# def set(context="notebook", style="darkgrid", palette="deep",
#         font="sans-serif", font_scale=1, color_codes=False, rc=None):
def set(context="notebook", style="darkgrid", palette="deep",
        font="IPAexGothic", font_scale=1, color_codes=False, rc=None):

192行目辺り

            #"font.family": ["sans-serif"],
            "font.family": ["IPAexGothic"],

そして,

import matplotlib
from matplotlib import rc
print(matplotlib.get_cachedir())

キャッシュファイルの位置を特定し、削除

最後に以下で確認.

import matplotlib.pyplot as plt
import
seaborn as sns
sns.set() sns.plt.plot([0,1], [0,1]); sns.plt.title('tofu - 豆腐')
plt.show()

f:id:guitartakahiro:20180131194536p:plain

が表示されたら成功.

pythonで機械学習する環境まとめ

複数のPCにpython環境構築す度にググるの面倒なのでここで備忘録つけます.

環境 macOs Sierra 10.12.6

1. pyenvをインストール

インストール

pyenvとは, pythonのバージョンを簡単に切り替えられるツールです. gitからインストールする場合は

$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv

brewコマンドが使える方は

$ brew install pyenv

でインストール出来ます.

.bashrcに設定を書き込み

$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
$ source ~/.bashrc
$ pyenv -v
pyenv 1.0.10-2-geef042a

pyenvの主要コマンド

バージョン確認

$ pyenv versions

切り替え

$ pyenv global X.X.X

インストール可能なバージョン一覧

$ pyenv install --list

2. anacondaのインストール

python機械学習を行う場合はanacondaが最適です. 2.x系と3.x系がありますが, 特にこだわりがなければ 3.x系をオススメします.

インストール

$ pyenv install anaconda2-X.X.X
$ pyenv install anaconda3-X.X.X

3. jupyter notebookの起動

anacondaが上手くインストールされていれば、 下記コマンドでjupyter notebookを起動できます.

$ jupyter notebook

4. jupyterでanaconda2とanaconda3の共存

pyenvコマンドで -anaconda2をアクティブにして,

$ jupyter kernelspec install-self --user

-anaconda3をアクティブにして,

$ jupyter kernelspec install-self --user

デスクトップの整理

デスクトップからファイルにアクセスすることがないので 全て非表示にした.

defaults write com.apple.finder CreateDesktop -boolean false
killAll Finder

元に戻したい時は

defaults write com.apple.finder CreateDesktop -boolean true
killAll Finder

SSHコマンド

SSH(Secure Shell)プロトコル(クライアントとリモートマシン間の通信を暗号化)を利用するので、安全にコマンドを実行することができる。また、sshコマンドは秘密鍵・公開鍵を利用した鍵認証が利用できるので、これらを利用すればさらに安全性が高まる。

例. ユーザ名を指定してリモートマシンにsshでログイン

ssh [ユーザ名]@[ホスト名]

GAMS事始め

授業でGAMSを使うことになったので, macに実装環境を整える方法を記載する. まずはホームページでmacOSのGAMSをインストール.

GAMS - Download

インストールが完了したら, アプリケーションに入れる. ライセンスファイルgamslice.txtを/Applications/GAMS24.8/sysdirに保存する.

.bash_proflie以下のPATHを通す

#GAMS
export PATH=$PATH:"/Applications/GAMS24.8/GAMS Terminal.app/../sysdir"

PATHが上手く通っているか以下のコマンドを打つことで確認する.

gamslib trnsport
gams trnsport

出力結果が以下のように表示されれば上手くいっている.

--- Job trnsport Start 06/26/14 11:24:56 24.3.1 r46409 DEX-DEG Mac x86_64/Darwin
GAMS 24.3.1   Copyright (C) 1987-2014 GAMS Development. All rights reserved
Licensee: ...
--- Starting compilation
--- trnsport.gms(69) 3 Mb
--- Starting execution: elapsed 0:00:00.024
--- trnsport.gms(45) 4 Mb
--- Generating LP model transport
--- trnsport.gms(66) 4 Mb
---   6 rows  7 columns  19 non-zeroes
--- Executing CPLEX: elapsed 0:00:00.114

IBM ILOG CPLEX   24.3.1 ... DEG Mac x86_64/Darwin    
Cplex 12.6.0.0

Reading data...
Starting Cplex...
Space for names approximately 0.00 Mb
Use option 'names no' to turn use of names off
Tried aggregator 1 time.
LP Presolve eliminated 1 rows and 1 columns.
Reduced LP has 5 rows, 6 columns, and 12 nonzeros.
Presolve time = 0.02 sec. (0.00 ticks)

Iteration      Dual Objective            In Variable           Out Variable
     1              73.125000    x(seattle.new-york) demand(new-york) slack
     2             119.025000     x(seattle.chicago)  demand(chicago) slack
     3             153.675000    x(san-diego.topeka)   demand(topeka) slack
     4             153.675000  x(san-diego.new-york)  supply(seattle) slack
LP status(1): optimal
Cplex Time: 0.03sec (det. 0.01 ticks)

Optimal solution found.
Objective :         153.675000

--- Restarting execution
--- trnsport.gms(66) 2 Mb
--- Reading solution for model transport
--- trnsport.gms(68) 3 Mb
*** Status: Normal completion
--- Job trnsport.gms Stop 06/26/14 11:24:57 elapsed 0:00:00.487

MPI事始め

MPIとは

MPI(Message Passing Interface)は、並列コンピューティング利用するための標準化された規格. 並列処理には共有メモリ型と分散メモリ型の2通りの処理形態があるが, MPIは分散メモリ型の並列処理を行う.

コンパイル方法は

$ mpicc hoge.c

実行方法は

$ mpirun -np <並列数> <実行コマンド>