szczytの忘備録

忘れそうなこと、調べたことを記録しています。いつの間にか生存報告にもなりました。

Jupyter notebook(on VM VirtualBOX)でMemoryError

VM VirtualBOX上のUbuntuでJupyter NotebookでMemoryError.に遭遇した。

やろうとしていたことは次のコマンド。

results = numpy.zeros((25000, 100000))

大したことはない、ゼロ行列を作ろうとしていた。

しかし、MemoryError.が発生。

 

VMに割り当てているメモリーは2GBしかなかったことが原因。

VMのメモリ拡張は直ぐにできる。

VMマネージャーから該当のボリュームを右クリック→「設定」→「システム」→「マザーボード」→「メインメモリー」で変更可能。

もちろん、実際に搭載されている以上の容量は指定できない。

 

Python3.7(Anaconda)にTensorflowがインストールできない

Python3.7でpipインストールしようとすると、そんなものはないと怒られる。

この記事の執筆時点ではどうやら対応していない模様。

以下の記事から状況は変わらず。

pycarnival.com

 

従って、対処法も同じ。
Pythonのダウングレードをすれば良い。
Anacondaは下記のコマンドで簡単にダウングレードを実行できる。

conda install python=3.6.6

依存関係などをすべて調べて実行してくれる。素晴らしい。

Pythonでスクレイピング

本記事は以下の書籍の忘備録です。

Kyran Dale, "Data Visualization with Python and JavaScript," O'REILLY, Aug. 2017.

 

WEBからデータを入手する方法はいくつかある。

・HTTP経由で入手
・専用APIを利用して入手
・HTTP経由でWebページを取得して、ローカルでパースする

 

まず、requestsライブラリをデータを取得する。

requestsはPythonの標準ライブラリではないため、pipコマンドで入手する。
(Anaconda導入済みの場合はこの作業は不要)

ちなみに、SSL警告が出る場合には、以下のコマンドでライブラリをアップグレード。

pip install --upgrade  ndg-httpsclient

まずrequestsライブラリをimportする。

import requests

getメソッドを使ってページを取得し、responseオブジェクトに割当る。今回はWikiからノーベル賞のページを取得する。

response = requests.get("https://en.wikipedia.org/wiki/Nobel_Prize")

HTTPステータスコードを調べる場合は、status_codeを利用する。

response.status_code

入手した情報のプロパティはheadersで表示できる。

response.headers

エンコード情報、サイズなどがここで確認できる。

 

次に、Web APIを利用したデータの取得を行う。

今回使うAPIは、RESTful APIと呼ばれるAPIである。

リモートデータに対する操作は、CRUD(Create, Retrive, Update, Delete)に集約される。

 残念ながら、取得先のURLが存在しないようで、うまく行かなかった。
後ほど修正を試してみる。

 

ノーベル賞データ可視化のための国データの取得

書籍中だとv1を利用しているが、現在はv2を使うと良い。

コードは写経したものを参考までに掲載しておく。

REST countriesへの呼び出し関数

 

(つづく)

Javascriptを試すローカルサーバーの建て方

サーバーを立てずにJavascript(JS)を試すことはできる。

例えば、JSBinなどが典型である。

JS Bin - Collaborative JavaScript Debugging

非常に便利で使い勝手の良いサービスであるが、使い慣れたエディターなどを使いたかったり、負荷を掛ける場合にはローカルサーバーを立てると良い。

 

プロジェクトディレクトリを作成し、以下にHTMLとJSを追加する。

working_directory
|---index.html
| ---script.js

 (後ほどgithubを追加します)

 

次にHTTPサーバーを立ち上げます。

python -m http.server [port (default 8000)]

サーバーが立ち上がるので、Webブラウザーからアクセスします。

http://localhost:8000

もちろん空白なので、コンソールにアクセスします。

[Windows]+[Shift]+[J]でscript.jsに書かれた処理が実行されているのが確認できる。

 

Ubuntuをインストール後にするべきこと

Ubuntuをインストールしたあとに最低限やるべきことをメモしておきます。

 

まず最新の環境に更新しておきましょう。

sudo apt-get update

sudo apt-get upgrade

 

次に、必要なパッケージを入れていきましょう。

一度に入れる場合には次のコマンドをどうぞ。

sudo apt-get install vim git openssh-server -y

 

必要なパッケージを最小限に構成していけるのがLinuxの魅力ですので、最低限のパッケージのみ紹介しています。

 

また、ディレクトリを英語にしたいときは、以下のコマンドです。

LANG=C xdg-user-dirs-gtk-update

ディレクトリ内にファイルが有る場合には日本語のディレクトリが残ります。

UbuntuでPython環境構築(Anaconda on Ubuntu on Windows10)

Linuxで最低限のPython環境を構築する方法をメモしておく。

想定するバージョンは下記の通り。

・OS : Ubuntu 18.04.5 LTS
・Anaconda : 

Anacondaの使用は賛否がある。個人的には不要なパッケージが多いため、手放しで賛成できないと考えている。

しかし、Pythonの環境を構築する際のハードルを大きく下げた功績は認められるべきである。実際、多くの書籍でもAnacondaを利用している。

 

ここではUbuntuのインストールが終わった時点を想定している。

まず、Ubuntuを最新の環境に更新する。

左下の三目並べっぽいアイコンをクリックし、「端末」を起動する。

sudo apt-get update

sudo apt-get upgrade

 

次に、Anacondaを入手する。

一番早いのはブラウザー(Firefox)からダウンロード。

www.anaconda.com

Python3.xとPython2.xがあるが、今回はPython3.xを利用する。

 

ダウンロードが完了したら、端末でダウンロード場所に移動する。

Anacondaのドキュメントは英語版をベースにしているので、そのままコピペしても動かない。(フォルダ名を英語にしておけば問題なし)

bash Anaconda3-X.X.X-Linux-x86_64.sh

いくつかの質問が対話的に行われるので、適宜対応する。

インストールは暫く掛かるので、紅茶を飲みながら待ちましょう。

VS Codeのインストールはお好みでどうぞ。

 

Oracle VM VirtualBox にUbuntu 18.04 LTSをインストール(Windows10)

時折、Linuxで開発したい(Linuxでないと開発できない)時がある。

または、ローカルな環境を汚さずに開発したいときもある。

(Windows PCが支給されて他に選択肢がないときも)

そんなときは仮想環境を構築する。

 

まず、一番時間がかかるUbuntuのダウンロードをしておく。

 https://www.ubuntulinux.jp/home 

特にこだわりがなければ、日本のコミュニティからダウンロードをする。

コミュニティの尽力により、安定したUbuntuが容易に入手できるのは非常にありがたい。

ところで、機械学習環境は長らくUbuntu 16.04が安定であったが、CUDAのインストール難易度を鑑みてもUbuntu 18.04にすべきではないだろうか。

別途記事を作成するが、古い情報が徒に難易度を上げてしまっている。

 

その間にVirtualBoxのダウンロード・インストールをしておく。

別途、SAS university Editionの記事で解説したい。(覚えていたら)

応急的に参考リンクを貼っておく。

www.sas.com

 

インストールしたVM VirtualBoxを起動する。

「新規(N)」をクリックすると、新たなウィンドウが立ち上がる。

ここで名前を適宜入力し、タイプを「Linux」に、バージョンを「Ubuntu(64bit」にする。

モリーサイズは仮想マシンの使い方(とお手元のPCのメモリ容量)ご相談の上に決定してください。

ハードディスクを作成する場合、デフォルトのままで良いと思います。

これでウィンドウは閉じてしまうが、まだ「ハコ」を作っただけでインストールは終わっていない。

作成した仮想マシンを右クリックし、「設定」を起動する。

「ストレージ」→「ストレージデバイス」→「コントローラー:IDE」の右側にあるディスクのアイコンをクリックして、ダウンロードしたISOを選択する。

この段階で仮想マシンを立ち上げることでOSのインストールが始まる。

OSのインストールはそのまますすめても問題ない場合が多い。
仮想マシンと割り切る場合に限って)

 

Python環境を立ち上げる方は、以下のページもご利用ください。

 

szczyt.hatenablog.jp