Friday, March 12, 2021

colaboratory, グラフで日本語を表示

colaboratoryでグラフを描画すると日本語がもじバケる。
japanize-matplotlibをインストールすることで正しく表示。

  # ライブラリのインストール
  !pip install japanize-matplotlib 
上記のライブラリをインストールするときは(-)を、下記importするときは(_)であることに注意。
  # ライブラリの読み込み
  import matplotlib.pyplot as plt
  import japanize_matplotlib

Thursday, March 11, 2021

アルゴリズムの選択 - scikit-learn algorithm cheat-sheet

https://scikit-learn.org/stable/tutorial/machine_learning_map/

「どんなアルゴリズムが存在しているのか」

「それぞれのアルゴリズムはどのような場合に選択したら良いのか」

で迷ったときに参考にするチートシート。



Wednesday, March 10, 2021

vmc destroyコマンドは最終手段


chromebookのターミナルが、何をやっても再起動しても立ち上がらなくなった。
直面したエラーコードはこちら。

 error starting crostini for terminal 51

この文章でググっても気の利いた回答が見つからず。といったところでdestroyコマンドを発見。一回トライ。

1) chrome上で、croshを立ち上げ(ctrl + alt + t)

2) vmcコマンドで、terminaを終了。

crosh> vmc list
termina (10737434624 bytes, min shrinkable size 10737418240 bytes, raw)
Total Size (bytes): 10737434624
crosh> vmc stop termina
crosh> vmc list
termina (10737434624 bytes, raw)
Total Size (bytes): 10737434624
crosh> vmc destroy termina
crosh> 
crosh> vmc list
Total Size (bytes): 0
crosh> vmc start termina

3) ターミナル立ち上がった!
 やった!
 と思ったのも束の間、今まで~/にあったもの全てがなくなっていました 泣
 destroyはlinux環境を完全にリセットするみたい。ご注意を。。。


Saturday, March 6, 2021

chromebookにlinuxをインストール(2/2)

chromebookへのlinuxインストール、設定の続きその1はこちら)。


1. code-server
 参考: https://note.com/digzero/n/n70ee0402a92b 
 プロまでつかう最強エディタvscode。code-serverは、これをブラウザ上で再現した
 もの。vscodeは非常に優秀で大好きだが、vscodeは日本語との相性が極めて悪く、
 windowsでも、等幅フォントを選んでも何してもどうしても入力が飛んでしまい、
 codingのみで、普通のテキストエディタとしては使えていない。

 chromebookでもあともう少し!という感じなので、emacsやvimと併用中。

 ■インストール

 # aptをアップデートして、curlでインストール
 > sudo apt update && sudo apt upgrade -y
 > curl -fsSL https://code-server.dev/install.sh | sh

  # 自動で起動するように設定(毎回code-serverを起動しても良い。)
 > sudo systemctl enable --now code-server@$USER

 code-serverを起動した状態で、ブラウザで
 http://127.0.0.1:8080 
 にアクセスすると、coderを立ち上げられる。
初回起動時にはパスワードの入力を求められる。

 

 このパスワードは、
  ~/.config/code-server/config.yaml
 
に格納されているので、 

 > cat ~/.config/code-server/config.yaml
 などで確認し、記載されているパスワードを入力する。

 ■PWA
 Chromeのままでは、ショートカットがconflictするなどの障害があるため、PWA化したほうが使いやすい。127.0.0.1:8080にアクセスした状態でクロームの設定メニューを開き「code-serverで開く」を選ぶ。PWAとしてインストールする確認画面が開くので、インストールする。

 ■日本語化
 日本語化するために、Extention(Ctrl+Shift+Xでも可)を開き、
  「Japanese Language Pack for Visual Studio Code」
 をインストール。

 ■ショートカット
 お好みのショートカットに。ここではvim。同様にExtentionアイコンからvimを検索し、 インストール。PWA化せずにこれをブラウザ内でやろうとすると、chromeのショートカットとバッティングしていらいらすることになる。

 ■テーマ
 お好みのテーマに変更。左下のギザギザアイコンから、配色テーマを選ぶ。
 code-serverでは、デフォルト以外のテーマが反映できないかも。

 下は、Monokai Dimmedを選んだ様子。

2. Docker

 https://qiita.com/pyama2000/items/90b189964f71def53b19 


 # Dockerを以前にインストールしている場合はアンインストール
 > sudo apt remove --purge docker docker-engine docker.io containerd runc
 > sudo apt update -y
# 依存パッケージをインストール > sudo apt install -y \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common # DockerのGPGキーを追加 > curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - > sudo apt-key fingerprint 0EBFCD88 # Dockerの安定版(stable)のリポジトリを追加 > sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable" # Dockerをインストール > sudo apt update -y > sudo apt install -y docker-ce docker-ce-cli containerd.io # インストールできたことを確認 > sudo docker run --rm hello-world
# 成功すると、以下のメッセージが表示。
 Hello from Docker!  This message shows that your installation appears to be working correctly.  To generate this message, Docker took the following steps:  1. The Docker client contacted the Docker daemon.  2. The Docker daemon pulled the "hello-world" image from the Docker Hub.   (amd64)  3. The Docker daemon created a new container from that image which runs the   executable that produces the output you are currently reading.  4. The Docker daemon streamed that output to the Docker client, which sent it   to your terminal.  To try something more ambitious, you can run an Ubuntu container with:   docker run -it ubuntu bash  Share images, automate workflows, and more with a free Docker ID:  https://hub.docker.com/  For more examples and ideas, visit:  https://docs.docker.com/get-started/ 
 現在のユーザにdockerグループを追加し一般ユーザの権限でも実行できるようにする。 
 # 現在のユーザのグループに`docker`を追加
 > sudo usermod -aG docker `whoami`
 # Chrome OSを再起動
 > docker run --rm hello-world

Friday, March 5, 2021

chromebookにlinuxをインストール(1/2)


chromeにlinuxを導入するときの一連の設定をまとめ その1(その2はこちら)。
エディタは、vscodeを使いたいがどうにも日本語のずれが気になるためprogram以外での利用のために通常のemacsとgvim
を入れた。

1. Linux(ベータ版)をONにする

 ギザギザマークの設定から、Linux(ベータ版)をオンにする。




 ディスクサイズを設定できる。wineを入れたかったので、スペースを少し余裕を見て
 10GBに設定。デフォルトの7.5GBだとちょっと足りなくなった。


2. .bashrcの加筆

 使いやすいプロンプトやコマンドのエイリアスなどを、ホームディレクトリにある.bashrcに下記内容を書き加える。これで起動時に自動で設定が読み込まれる。一番最初に編集する場合はvimなど最初使いづらいエディタが必要なので、使い慣れたエディタ導入後で良い。

プロンプトをシンプルに(今いるフォルダだけ表示)
 export PS1='\W> '
タブのタイトルも同じ行で設定できる。
 export PS1='\[\e]2;タイトル名\a\]プロンプト名> '
プロンプトの表示を好みに。デフォルトでは絶対パスが表示されるので深い階層になると見難い。プロンプトに今いるフォルダ(\W)、タイトルに今いるフォルダの絶対パス(\w)を表示したければ、次のように指定。
 export PS1='\[\e]2;\w\a\]\W> '

コマンドのエイリアスを設定。
# some more ls aliases
 alias la='ls -aF'
 alias cls='clear'

3. aptをアップデート
  > sudo apt upgrade
 ※参考・・・パッケージを探す 
  > sudo apt search HOGE

4. emacs導入 
 emacsを追加。ただし、設定をしていないので、この時点ではまだ日本語は入力できない。
  > sudo apt install emacs

5. 日本語環境 (fcitx)
 https://qiita.com/suzuki_sh/items/adead0fd9adefec112af 
   (任意)IPAフォントとMyricaのインストール
  > sudo apt install fonts-ipafont fonts-ipaexfont
  > mkdir /tmp/fonts; cd $_
  > wget https://github.com/tomokuni/Myrica/raw/master/product/Myrica.zip
  > unzip Myrica.zip
  > mkdir ~/.fonts/
  > mv ./Myrica.TTC ~/.fonts/
  > fc-cache --force --verbose

 fcitx-mozcを導入
  > sudo apt install fcitx-mozc
 インストールが完了したら、Chromeアプリケーションシェルフ(虫眼鏡ボタン)から
 Fcitxを起動


   configtoolを起動
  > fcitx-configtool

 Input MethodにMozc(Japanese)を追加。左下のプラスをクリックし、
 「Only Show Current Language」のチェックを外すとmozcが現れる。下の絵はmozcで
 検索をかけた状態。

fcitxを起動
  > fcitx-autostart


6. ターミナルの日本語切り替えを有効に
 
 デフォルトのターミナルは、日本語⇔英語の切り替えができないようになっているので、例えばchromeで ctrl-space で日本語モードにしたままターミナルに移ると英語が入力されず。もう一度chromeに行ってUSモードにしてからターミナルへ、とフタ手間増えてイライラになる。ここをcroshで設定する。


 ■crosh立ち上げ
 1) chrome上で Ctrl + Alt + t で、croshを立ち上げる。

 2) この画面上で Ctrl + Shift + pで、ターミナルの設定を立ち上げる。
 3) 左側のメニューでキーボードを選び、「キーボードバインディング/ショートカット」
  にキーボードのバインディングを入力する。保存ボタン等は無く、直ちに設定が
  反映される。
  {{
    "Ctrl-Space": "PASS"
  }


 これで切り替えができるようになった。
 (下図はCtrl+SpaceでUSモードに切り替えたところ)



7. emacsの日本語設定

 ■パッケージの読み込み (~/.emacs.d/init.el)
 
 パッケージを読み込むために、~/.emacs.d/init.el に以下を追加。
 これを書かないと、パッケージのリストにmozcが出てこない。
 ;; package.el
 (require 'package)
 (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
 (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/"))
 (add-to-list 'package-archives '("marmalade" . "https://marmalade-repo.org/packages/"))
 (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/"))
 (package-initialize)

 書き込んだらemacsを再起動するか、M-x load-fileで上記ファイルを読み込む。

 ■mozcのインストール
  > sudo apt install emacs-mozc-bin

 emacsで、mozcパッケージのインストール
 (M-x package-list-packages)


 Ctrl-Sで検索をかけ、mozcをインストール

 
 以下の画面でinstallボタンをクリック 

 インストールができたら、~/.emacs.d/init.elに、以下mozcの設定を追加し、
 emacsでmozcが使えるようにする。emacsを再起動するか、M-x load-fileで
 init.elを再読み込み。
;;; mozc
 (require 'mozc)
 (set-language-environment "Japanese")
 (setq default-input-method "japanese-mozc")
 (prefer-coding-system 'utf-8) 
これで日本語入力の設定完成。日本語インプットの切り替えは、Ctrl-\。
切り替えのキーバインドの変更はここではしない。

テキストが小さいのでサイズを変更。メニューのOptionから「Set Default Font」を選び、フォントサイズを変更する。変更後、Save Optionsでセーブ。変更は自動的に~/.emacs.d/init.elに書き込まれる。
ここで、最初にインストールしたIPAフォント等を選択する。



 ■配色(テーマ)の変更
 ~/.emacs.d/init.elに、好きなテーマを設定

;; theme
(load-theme 'miterioso t)
   ↓


8. vimのインストール

デフォルトのvimでは日本語入力が厳しいので、GUI版のvimを入れる。mozcが利用可能。いくつか種類があるようだが、違いはわからず。ここではvim-gtk3をインストール。
  > sudo apt install vim-gtk3
  > gvim &
 


「Edit」メニューの「Select Font...」からフォントを変更することが可能だが、gvimを立ち上げる度に毎回設定が必要になってしまうので、同じメニューから「Startup Settings」を選び、設定を ~/.vimrcに書き込む。エディタで直接書いてもOK(インストール直後は何も書いていない)。下記はIPAGothic、11ptに設定した様子。
  set gfn=IPAGothic\ 11



参考:https://qiita.com/htnk/items/6458ec6412210406486b

9. python向けの設定

 pipのインストール
  > sudo apt install python3 python3-pip
  pipをアップグレードしないとopenCVのインストールが途中で止まってしまうので、
  アップグレードも同時に。https://qiita.com/muramasa2/items/80a2cae31bafb9de0ea2
  > pip3 install --upgrade pip

 numpy, keras, requestsのインストール
  > pip3 install numpy keras requests
 ipythonのインストール
  > pip3 install ipython
 デフォルトでは /home/[ユーザ名]/.local/bin にインストールされるので、~/.bashrcに
 パスを通すコメントを追加。
 # ~/.bashrc
 PATH="$PATH":/home/[ユーザ名]/.local/bin

 openCVのインストール
 ただし現状chromebookでは、linuxではカメラが使えない模様。対応が待たれる。
 使う場合はcolaboratoryで。
  > pip3 install opencv-contrib-python
 selenium、beautifulsoup4のインストール
  > pip3 install selenium beautifulsoup4
 geckordiverのインストール(seleniumの使用に必要)
  > wget https://github.com/mozilla/geckodriver/releases/download/v0.23.0/geckodriver-v0.23.0-linux64.tar.gz
  > tar -zxvf geckodriver-v0.23.0-linux64.tar.gz 
  > sudo chmod +x geckodriver
  > sudo mv geckodriver /usr/local/bin
 日本語版のfirefoxをインストール
  > sudo apt install firefox-esr-l10n-ja
 seleniumの動作確認
  > python3 selenium_test.py 
 
<selenium_test.py>
10. wineのインストール

 ■本体のインストール
 以下に従いインストール。
  > sudo dpkg --add-architecture i386
  > wget -nc https://dl.winehq.org/wine-builds/winehq.key
  > sudo apt-key add winehq.key
  > sudo emacs /etc/apt/sources.list     # 好きなエディタでsources.listを開き下記2行を追加
     deb https://dl.winehq.org/wine-builds/debian/ buster main
     deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10 ./
  > sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DFA175A75104960E
  > sudo apt update
  > sudo apt install --install-recommends winehq-stable
  > winecfg 
 最後のwinecfgでは、windows10を選択した。


 ■ソフトのインストールのお試し
 好きなwindowsソフトをインストール。参考にしたサイトで試しに使っているaudacityは、
 窓の杜くらいからダウンロードできる。(21.3.5時点でAudacity-v2.4.2.exe)。
  > wine Audacity-v2.4.2.exe
 (任意)
  > sudo apt install menulibre (メニューを設定するアプリ)
  > menulibre

ソフトのアイコンがシェルフに追加されるので、インストール後はこのアイコンで起動。

Thursday, March 4, 2021