反面教師あり学習

*/

反面教師あり学習

Negative Supervised Learning

JupyterLabでMATLABとRを使えるようにする方法 (2018/9/20 Julia v1.0追加)

背景

自分の主力はPythonだけど,大学院に入ってからMATLABとRを使う機会がかなり増えた. 授業中の演習でJupyterLabを動かせるとメモを取りつつコードも書けて便利だったので環境構築の方法をメモ.

環境

Windows 10 or macOS

JupyterLabのインストール

最近のAnaconda環境だと標準で入っているっぽい? 入っていないなら下記コマンドでインストールできる.

$ conda install -c conda-forge jupyterlab

OpenCVのインストール

使用頻度が高いのでついでに.下記コマンドでインストールできる.

$ conda install -c conda-forge opencv

JupyterLabからMATLABカーネルを使えるようにする

参考:https://jp.mathworks.com/help/matlab/matlab_external/install-the-matlab-engine-for-python.html

以下のパスは例なので,自分の環境に合わせて変えること.

$ pip install matlab_kernel
$ cd C:\Program Files\MATLAB\R2018a\extern\engines\python
$ python setup.py install
$ pip install matlab_kernel
$ cd /Applications/MATLAB_R2018a.app/extern/engines/python
$ python setup.py install

MATLABPythonから呼び出す例

Pythonスクリプトと同じディレクトリに以下の内容のファイルmatlab_function.mを用意しておく.

function out=matlab_function(x)
    out = x .^ 2;
end

MATLABエンジンの起動は以下の通り.

import matlab
import matlab.engine

eng = matlab.engine.start_matlab()

ファイルを置いておくだけでMATLABの関数を呼び出せるようになる.

for k in range(0, 5):
    print(eng.matlab_function(k))

出力:

0
1
4
9
16

Numpyのndarrayを渡すときは変換が必要なので注意.

import numpy as np

a = np.arange(10, dtype=np.float64)
a = matlab.double(a.tolist())
a = eng.matlab_function(a)
print(a)

出力:

[[0.0,1.0,4.0,9.0,16.0,25.0,36.0,49.0,64.0,81.0]]

JupyterLabからRを使えるようにする

Rをインストールした後,RのコンソールからIRkernelをインストールすれば良い.

参考:

github.com

  1. Rのインストール R: The R Project for Statistical Computing
  2. RStudioのインストール Home - RStudio
  3. Rのコンソール上で以下のコマンドを実行し,Rのカーネル (IRkernel) を入れる
> install.packages('devtools')
> devtools::install_github('IRkernel/IRkernel')
> IRkernel::installspec()

おわり

追記:JupyterLabからJulia v1.0を使えるようにする

Julia v1.0は以前のバージョンと違って,Pkg.add()ではなくpkgモードを使う.

ターミナルでjuliaを実行してJuliaを起動した後,]を打つとpkgモードとなり, プロンプトが(v1.0) pkg>のようになるので,そこでadd IJuliaを実行すればOK.