2020年6月19日金曜日

[Python] Chainerのインストール

必要に応じて,Chainerをインストールしてみることになった際のメモです.


% pip3 install chainer
ターミナルから上記のように実行すると,以下のように表示され,インストール完了です.
Collecting chainer
  Downloading chainer-7.4.0.tar.gz (1.0 MB)
     |████████████████████████████████| 1.0 MB 927 kB/s 
Requirement already satisfied: setuptools in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from chainer) (39.1.0)
Collecting typing_extensions
  Downloading typing_extensions-3.7.4.2-py3-none-any.whl (22 kB)
Requirement already satisfied: filelock in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from chainer) (3.0.12)
Requirement already satisfied: numpy>=1.9.0 in ./Library/Python/3.6/lib/python/site-packages (from chainer) (1.18.5)
Requirement already satisfied: protobuf>=3.0.0 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from chainer) (3.12.2)
Requirement already satisfied: six>=1.9.0 in ./Library/Python/3.6/lib/python/site-packages (from chainer) (1.15.0)
Building wheels for collected packages: chainer
  Building wheel for chainer (setup.py) ... done
  Created wheel for chainer: filename=chainer-7.4.0-py3-none-any.whl size=967111 sha256=b2bb7a1738cb9b17502e9523828703a073c12ffe19377bcca5203e19ef311485
  Stored in directory: /Users/hide/Library/Caches/pip/wheels/97/47/f1/a658280845b000a58baae410894ef35dc6873c77ef29d1ec8d
Successfully built chainer
Installing collected packages: typing-extensions, chainer
Successfully installed chainer-7.4.0 typing-extensions-3.7.4.2



2020年6月9日火曜日

Kerasの仮想環境下で計算を実行する

過去にKerasに関する設定を以下のように行ってきました.


"mykeras"の仮想環境下でkerasの実行を行うには,以下の手順で行います.

Anaconda Promptを立ち上げます.
(base) C:\User\User Name>

その後に,以下のコマンドを実行して,mykerasの仮想環境に入り,Jupyter Notebookを起動します.
(base) C:\User\User Name>activate mykeras
(mykeras) C;User\User Name>jupyter-notebook

(mykeras)環境下にはKerasに関するモジュールしか入っていないので,必要に応じてインストールを行います.
以下は,matplotlib, sklearnをインストールする際のコマンド実行例です.

(mykeras) C;User\User Name>pip install matplotlib
(mykeras) C;User\User Name>pip install sklearn

2020年5月20日水曜日

[Python] PILのインストール

pip3でPIL(Python Imaging Library)をインストールするには,
% pip3 install pil
としても,以下のようなエラーが表示されます.
ERROR: Could not find a version that satisfies the requirement pil (from versions: none)
ERROR: No matching distribution found for pil

正しくは,
% pip3 install pillow
としなければなりません.

2020年5月19日火曜日

GitHubでディレクトリを作成する

GitHub上でディレクトリを作成する際には,ディレクトリを作成したいレポジトリに移動して Create new file をクリックします.



Name your file... 欄に作成したいディレクトリ名を入力して最後に /(スラッシュ)を入力するとディレクトリが作成されます.
最後にファイル名を入力してコミットするとディレクトリが作成されます.ファイル名は .gitignore とするとテンプレートを使用することが可能です.

もしかすると,もっと別の方法があるのかもしれませんが,とりあえずはこの方法でもディレクトリを作成可能です.

2020年1月1日水曜日

[Python] __init__メソッド

__init__メソッドは,クラスをインスタンス化する際に必要なメソッドです.

まずは,クラスについて

  • クラスはデータとその処理方法がひとまとまりになったもので,オブジェクト指向プログラミングでは欠かせない概念.
  • Pythonでクラスを使う際には,__init__メソッドを使う必要がある.
  • __init__メソッドを使うことで,抽象的な様々なクラスを実体化して使うことができるようになる.

インスタンス化とは抽象的なクラスという概念に,中身を与えて具体化することで,Pythonにおけるインスタンス化には__init__メソッドを用います.

Pythonのコードでクラスは
>>> class クラス名:
...     def __init__(self, 他の引数):
と書かれます.なお,selfはそれぞれのインスタンスを表すものです.

__init__を利用してインスタンス化する例を以下に示します.
この例では,Carsと名付けたクラスを作り,車名を引数に渡してインスタンス化することで中身を与えます.
>>> class Cars:
...     def __init__(self, name):
...         self.car_name = name
...     
...     def print_name(self):
...         print('Your car is the {}.'.format(self.car_name))

クラスを実装できたので,次はインスタンス化を行ないます.
>>> db9 = Cars('Aston Martin DB9')
これでインスタンス化が完了したので,hello()メソッドを使用して確認してみます.
>>> db9.print_name()
Your car is the Aston Martin DB9.
print_name()を実行すると,上記の例のように,
    Your car is the Aston Martin DB9.
と表示されるので,db9という車の名前のインスタンス化に成功していることが確認できました.

2019年12月31日火曜日

[macOS] HomebrewとHomebrew経由でアプリケーションなどをインストール

HomebrewとHomebrew経由でアプリケーションをインストールした際のメモです.

Homebrewのインストール
ターミナルから以下のコマンドを実行します.
% /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew経由でアプリケーションなどのインストールを行う際には,インストール前に以下のコマンドを実行します.
アップデート(Already up-to-date. は完了を意味する応答)
% brew update
Already up-to-date.
アップグレード(特に応答はありません)
% brew upgrade
ドクター(Your system is ready to brew. は完了を意味する応答)
% brew doctor
Your system is ready to brew.

gccのインストール
以下のコマンドを実行します.
% brew install gcc

gnuplotのインストール
以下のコマンドを実行します.
% brew install gnuplot                      
gnuplotは以前のようにX11やAquaTermをオプションとしてインストールして描画させずにqtで描画する仕様となりました.

Juliaのインストール
以下のコマンドを実行します.
% brew cask install julia

Juliaを起動して,主だったパッケージをインストールしておきます.
パッケージのインストールを行う(パッケージの管理モードに入る)には,JuliaのREPLが起動して,"Julia > "と表示されている状態で"]"をタイプします.すると,プロンプトが"(vx.x) pkg> "と切り替わります(x.xはバージョンを表す数字).この状態で"add Package Name"を実行してパッケージをインストールします.
以下は,主だったパッケージをインストールした際の例です.
% Julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.3.1 (2019-12-30)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> 

(v1.3) pkg> add CSV
(v1.3) pkg> add Combinatorics
(v1.3) pkg> add DataFrames
(v1.3) pkg> add Distributions

(v1.3) pkg> add IJulia

(v1.3) pkg> add JuMP
(v1.3) pkg> add Plots
(v1.3) pkg> add PyCall
(v1.3) pkg> add PyPlot
(v1.3) pkg> add RDatasets
(v1.3) pkg> add StatsBase
(v1.3) pkg> add StatsPlot
(v1.3) pkg> add SumOfSquares
(v1.3) pkg> add Statistics
(v1.3) pkg> add Gadfly
(v1.3) pkg> add LinearAlgebra

なお,各パッケージのインストールを実行した際には,インストール状況等が流れます(上記の例では省略).

インストールしたパッケージの状態を確認するには以下のコマンドを実行します.
(v1.3) pkg> status

なぜか,当初はターミナルからで起動したのですが,いつの間にか起動しなくなってしまった...といった場合には,以下のようにして.bashrcにJuliaのエイリアスを追加します(ホームディレクトリに移動して以下のコマンドを実行).
# .bashrc
% alias julia="/Applications/Julia1.3.app/Contents/Resources/julia/bin/julia"
また,Juliaでは起動しますが,juliaでは起動しません.

Jupyter Notebookのインストール
以下のコマンドを実行します.
% pip3 install jupyter
Python3は特にパスを通さなくても最初から使うことができます.

Juliaのパスを通すには以下のコマンドを実行します.
% echo "alias julia='/path/to/install/folder/bin/julia'" >> ~/.zshrc
% exec $SHELL

Jupyter NotebookにRを追加するには,Rのインタープリターを起動して,以下のコマンドを実行します.
> install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))
このインストールでは,CRANのミラーを聞いてくるので近いところを選択します.この時は,39: Japan (Tokyo) [https] を選択しました.
続いて,以下のコマンドを実行します.
> install.packages('IRkernel')
最後に以下のコマンドを実施します.
> IRkernel::installspec()
参考:IRkernelのインストールに関する公式ページ

なお,インターネット等で調べると,2番目のコマンド実行ではなく,
> devtools::install_github('IRkernel/IRkernel')
としている例が示されている場合がありますが,GitHubからIRkernelのインストールができないというエラーが返ってきて上手くいきませんでした.

Kernel Specを確認するには以下のコマンドを実行します.
Available kernels:
  ir           /Users/hide/Library/Jupyter/kernels/ir
  julia-1.3    /Users/hide/Library/Jupyter/kernels/julia-1.3

  python3      /usr/local/share/jupyter/kernels/python3

Pythonのインストール
macOS CatalinaからはPython3がデフォルトでインストールされているので不要です.
確認のために以下のコマンドを実行してみます.
% which python3
/usr/local/bin/python3

同様に,pip3もインストールされているので確認しておきます.
% pip3 -v

Usage:   
  pip3 <command> [options]
...この後にズラズラと続きますが省略...

主だったパッケージをインストールします.
% pip3 install numpy
% pip3 install scipy
% pip3 install matplotlib
% pip3 install scikit-learn


なお,pip3経由でパッケージをインストールしたい際には,以下のコマンドを実行します(Package Nameはインストールしたいパッケージ名).

% pip3 Package Name

インストールされたパッケージを確認するには,以下のコマンドを実行します.
% pip3 list
すると,以下のようにインストールされているパッケージとそのバージョンが表示されます.
Package            Version
------------------ -------
appnope            0.1.0  
attrs              19.3.0 
backcall           0.1.0  
bleach             3.1.1  
cycler             0.10.0 
decorator          4.4.1  
defusedxml         0.6.0  
entrypoints        0.3    
importlib-metadata 1.5.0  
ipykernel          5.1.4  
ipython            7.13.0 
ipython-genutils   0.2.0  
ipywidgets         7.5.1  
jedi               0.16.0 
Jinja2             2.11.1 
joblib             0.14.1 
jsonschema         3.2.0  
jupyter            1.0.0  
jupyter-client     6.0.0  
jupyter-console    6.1.0  
jupyter-core       4.6.3  
kiwisolver         1.1.0  
MarkupSafe         1.1.1  
matplotlib         3.1.3  
mistune            0.8.4  
nbconvert          5.6.1  
nbformat           5.0.4  
notebook           6.0.3  
numpy              1.18.1 
pandas             1.0.1  
pandocfilters      1.4.2  
parso              0.6.2  
patsy              0.5.1  
pexpect            4.8.0  
pickleshare        0.7.5  
pip                20.0.2 
prometheus-client  0.7.1  
prompt-toolkit     3.0.3  
ptyprocess         0.6.0  
Pygments           2.5.2  
pyparsing          2.4.6  
pyrsistent         0.15.7 
python-dateutil    2.8.1  
pytz               2019.3 
pyzmq              19.0.0 
qtconsole          4.6.0  
scikit-learn       0.22.2 
scipy              1.4.1  
seaborn            0.10.0 
Send2Trash         1.5.0  
setuptools         42.0.2 
six                1.14.0 
statsmodels        0.11.1 
terminado          0.8.3  
testpath           0.4.4  
tornado            6.0.3  
traitlets          4.3.3  
wcwidth            0.1.8  
webencodings       0.5.1  
wheel              0.33.6 
widgetsnbextension 3.5.1  

zipp               3.0.0  

Rのインストール
ターミナルから以下のコマンドを実行して,brewsci/scienceにtapします.
% brew tap brewsci/science
続いてRをインストールします.
% brew install r

Rstanをインストールしておきます.まずはターミナルからRを起動します.
% R

続いて,以下のコマンドを実行します.
> install.packages("rstan")
インストールの途中でミラーサイトを選択することを求められます(今回は日本:39を選択).Rstanのダウンロード,インストールには多少時間がかかります.

RstanをRに読み込むには以下のコマンドを実行します.
> library(rstan)

また,以下の設定を行うことが推奨されているようです.このコマンドはコンパイルした結果を保存するためのものです.
> rstan_options(auto_write=TRUE)
こちらは,複数のコアを使用するためのものです.
> options(mc.cores=parallel::detectCores())

Ricty(フォント)のインストール
sanematのリポジトリにタップする.
% brew tap sanemat/font

ターミナルから以下のコマンドを実行するとインストールが始まります.
% brew install ricty

インストールが終了すると最後に,以下のメッセージが表示されます.
***************************************************
To install Ricty:
  $ cp -f /usr/local/opt/ricty/share/fonts/Ricty*.ttf ~/Library/Fonts/
  $ fc-cache -vf
***************************************************

上記のメッセージにある2つのコマンドを実行して,ズラズラと流れた後に,以下のように表示されれば成功です.
fc-cache: succeeded

Homebrewを使ってAppStoreで提供されているアプリケーションをインストールすることもできます.
そのためには,まずmasをインストールします.
% brew install mas
masを使ってアプリケーションをインストールする際には,以下のようにアプリケーションのID(以下の例ではxxxxxxxxx)を指定する必要があります.
% mas install xxxxxxxxx

IDはAppStoreのURLに示されています.例えばLINEであれば,AppStoreのURLは以下のようになり,URL内にid539883307と書かれているので,このid番号を指定します.

2019年12月30日月曜日

[macOS] macOS CatalinaにTeXをインストールする

macOS CatalinaにMacTeX2019をインストールした際のメモです.
詳しくは,こちらの記事を参考にして下さい.

まずは,MacTeX2019のpkgファイルをダウンロードします(この時点での最新版は,mactex-20190508.pkg).MacTeX2019はファイルサイズが4Gを超えるので,公式サイトではなく,ミラーサイトからのダウンロードが推奨されます.

ダウンロードしたpkgファイルをダブルクリックしてインストールを進めます.英文のみのドキュメント作成しかしない方はこれで終わりなのかもしれませんが,TeX Live はデフォルトだと,和文フォントとして IPAex フォントが埋め込まれる設定になっているそうです.ヒラギノフォントを TeX で使用するには,こちらからダウンロードしたパッチ(Bibunsho7-patch-1.4-20190925.dmg)を適用します.

パッチ(Bibunsho7-patch-1.4-20190925.dmg)をダブルクリックすると,Patch.appがマウントされます.出てくる雪だるま☃︎︎のアイコンをダブルクリックして実行します(警告ダイアログが表示されますが,アドミニストレーターのパスワードを入力するなどして開くとインストールが始まり,終わります.

この後に,TeXShopの日本語設定を行います.
    TeXShop > Preference...
を選んで,Sourceタブを開きます.設定画面の左下のSet Default Values(設定ファイルボタン)をクリックしてupTeX(ptex2pdf)もしくはpLaTeX(ptex2pdf)を選択します.upTeXはUnicodeを活用できて,JIS第何水準漢字などを気にしないで良いとのことです.pTeXは従来のTeXだとのことです.


また左上のDocument Font(フォント)はデフォルトでは上図のようにHelvetica - 12 になっています.等幅フォントが好みの人は変更しておくと良いです.

ここで,TeXShopを終了させて,ターミナルを起動して,以下のコマンドを実行します.
% defaults write TeXShop FixLineNumberScroll NO
% defaults write TeXShop SourceScrollElasticity NO
% defaults write TeXShop FixPreviewBlur YES

これらのコマンドの意味は,参考にさせて頂いたこちらのサイトによると,

  1.  FixLineNumberScroll NO は,10.7 Lionなどの古いOSに存在した,行番号がスクロールしないOS側のバグに対処するための対症療法を停止させる措置.最近の macOS ではこのバグが修正されており,この対症は不要で,スクロール速度が遅くなる原因となるので,これを取り除いている.
  2. SourceScrollElasticity NO は,スクロール時に上下端で大きく跳ね返るバウンスエフェクトを停止させる措置.OS X 10.10 Yosemite 以降では,バウンスが大きいので,このエフェクトを停止させている.
  3. FixPreviewBlur YES は,OS X 10.10 Yosemite 以降で,プレビューウィンドウのPDFが(一部の環境で)ぼやけて見えるのを防止する措置.
とのことです.