2018年03月21日

AWS FreeでDeepLearning(つづき)

前回に引き続き、AWSでDeepLearning環境つくる備忘録。

AWSではDeep Learning用の環境としてDeep Learning AMI(DAMI) というのが用意されているので、
これを使えば簡単にDeep Learningを始めることができます。

が、このDAMIは、AWSの1年無料枠で使えません!(>_< 残念。

DAMI(Amazonマシンイメージ)自体は無料利用枠の対象なのですが、
これを立ち上げるためのEC2インスタンスが有料です。
p2インスタンスというGPUインスタンス(無料枠外)が必要なのです。

ある程度慣れていてGPUの力を借りて処理したい大量データが準備済み、1年無料期間終わってる、コストなんて気にならん、という熟練者の方はDAMIを使うとよいかと思います。
が、これから機械学習を始めます、できればタダで。という私のような方は自分で環境を作る必要があります。

無料枠で使えるEC2インスタンスは2018.3月現在、t2.microというvCPU:1、メモリ:1G、ストレージは30GBまで、GPUなし、
なので、ある程度慣れてきてGPUが必要と感じるようになってきたらp2インスタンス+DAMIに移行する予定です。
それまではGPUインスタンスは宝の持ち腐れなので無料枠のt2.microで頑張りましょう。

さて、1連の流れを備忘録としてメモしておきます。

1.EC2インスタンスを作成する。

AWSのチュートリアルを参考にAmazon Linux AMI & t2.microインスタンスを立ち上げる。
このチュートリアルにはSSHでの接続方法まで含まれているので、
この通りにやればSSHで接続するところまではいける(はず)。
もしSSH接続しようとしてタイムアウトで失敗する場合は、次のセキュリティグループ設定してからトライする。

このチュートリアルだとWindowsからSSH接続するのにGitをインストールする手順になっている。
自分の場合はTeraTermを使いたかったので、この辺りのサイトを参考に設定する。


2.セキュリティグループの設定をする。

AWSのドキュメントを参考にセキュリティグループの設定をする。
とはいえ、このドキュメントだけだと慣れてない人は理解できないと思われる。

SSHを通すためのセキュリティグループはここが参考になる。
ピンポイントで、SSHが通らない場合はこう解決しろ、という説明がされているので
これで設定できなかったら潔く諦めること。(ぇ

ルールのソースにMy IPを選択するのがセキュリティ的に安全でよいのだけれど、
自分の使っているアドレスはISP次第で変わる可能性があるというところに注意する。
IPアドレスが変わる都度、セキュリティグループにルールを追加する必要がある。
IPアドレスの変わる頻度は自分自身のネット接続環境に依存するのでその人次第。

一旦、My IPで設定すると/32でアドレスが登録されるので、
そのIPアドレスのNWセグメントをネットで調べて、
NWセグメント単位のルールに変更しておくと設定追加の頻度が下がって便利。
これでも厳密にはセキュリティレベルは落ちるけど、面倒だからと「任意の場所」をソースにするよりはだいぶマシ。

jupyterにアクセスできるよう、SSHのルールと同じように、
TCPポート8888へソース:My IPから接続できるようにルールを追加しておく。


3.リモートで作業するためJupyter(Anaconda)のインストール

これはjupyter、awsとかで検索すると色々出てくる。
下記のサイトなどを参考にさせていただいてインストールする。
色々、前提条件が異なっていたり省かれていたりするので試行錯誤するのも勉強のうち。


パスワードとSSLの設定も忘れずにこの段階でやっておく。
jupyter SSL とかのキーワードで検索すると色々出てくるのでそちらを参考にする。


4.jupyter notebookの立ち上げ/SSHセッション切っても動かし続ける。

Jupyter(Anaconda)のインストールが済んだら、
SSHでログインしてコンソール上で下記のコマンドを打てばJupyterが立ち上がる。

>> jupyter notebook &

デフォルトだとポート番号8888で立ち上がるので、
ブラウザからhttps://[EC2インスタンスのアドレスorDNS名]:8888/でアクセスできるはず。

ただ、この状態だとSSHセッションが切れるとJupyterも終了となり、ブラウザからのアクセスもできなくなる。
自分の場合はこれだと実用的でないので下記のコマンドで動かし続けるようにする。

>> nohup jupyter notebook &

このnohupコマンドを打つとSSHセッションが切れてもJupyterが落ちなくなる。
ログファイルはコマンドを打った時のカレントディレクトリにnohup.outとして出力されるようになる。
SSHセッション断やCtrl+Cでのjupyter終了はできなくなるので、
終了させる必要がある場合はpsコマンドでプロセスID調べてからkillコマンドで終了させる。



posted by くおん at 07:42| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2018年03月19日

AWS FreeでDeepLearning

ひさびさ過ぎる。前回が2016年12月って。。

2017年も色々ありました。
家族が増えたりMBA終了したり、OJTでの海外勤務希望にNGもらったり。。。

で、前回記事を1年以上ぶりに読み返してプログラミングに言及しているわけですが
やっとやり始めました。

以下、自分用のメモです。何か残しておかないともったいない気がしたので。

●AWSの無料期間1年を使ってDeepLearning環境を構築する!

1.AWSのアカウント作る。色々制限あるが無料1年期間が付いてくる!

2.無料で立ち上げられるAWS EC2インスタンスを立ち上げる。
 イメージはAmazon Linuxがいいんじゃないかなと思う。多分。

3.セキュリティグループの設定をする
 SSH用のport22を開ける。
 セキュリティに気を付けたいので色々書きたいことはある
 & 実際、いろいろやったけど割愛

4.SSHでログインして、参考サイトを参照しつつ環境構築する。
 最終的にはAnacondaのJupyter notebookを立ち上げたい。

参考サイト
 Python 開発用サーバの構築手順(AWS + Anaconda)
 AWSでjupyter
 Amazon Web ServiceでJupyter notebookを立てるまでのメモ

他にもいろいろ見て要所要所で参考にさせていただきました。
というか、ほんとピンポイントづつなので全てのサイトを網羅できないくらい検索&実行のトライ&エラーでやってみる。

5.最終的にWebブラウザでjupyter notebookにアクセスできるようになったら完成。
 後は「ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実装」を参考に勉強するだけ!
posted by くおん at 05:50| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年12月22日

2016年も、もうそろそろ終わり

前回のが、2016年の始めで、やっぱり1年でだいぶ変わるなー、という感想。
MBAは、卒業1年遅れそう。というか、遅らせた。
これは、開講スケジュールの変更という他責要因もありつつ、追加的な要素を取りに行ったという自責というか、ポジティブな要素が大きいので目標から1年遅れてもより良い選択ができたと思ってる。

引越に向けた準備は、着々と進んでます。
できてないところに目を向けたら、そりゃ色々あって、まず自宅が売れてないとか。
でもね、それは想定範囲だからいいんです。
最初に悪い想定を織り込んでおくってとても大事。

プログラミングは、手が出せてないなぁ。
卒業後の時間を使ってやろうと思ってることはあるんですが、卒業も伸びて、実行時期が先伸ばしになってしまった。
でも、いきなりは無理だから、やりはじめないと。

新しい家族も一人、増える予定になり、来年はまた忙しそうです。
そういえば、今年は役職が上がり異動もあり、そういう意味での大変さもあった。

話変わって、最近はテレビをあまり見てないのだけれど、そんな中で、逃げるは恥だが役に立つ、にはまってました。
ヒットの理由は色々あると思いますが、自分にとってはとても考えさせられる、というか、普段感じている家族とか恋人とか夫婦の関係性をすごくリアルに表現しているなぁ、と。悩んでもちゃんと話をして、本音を言って、ポジティブに解決していこうとするところに共感です。
自分たちもこうでありたいと思うし、まだまだ赤ちゃんに近い、もうすぐお姉さんになる自分の子供にもこういう風に育ってほしいな、と思います。
そのために自分がやることは多分色々あって、衝突もあるだろうけど、逃げずに頑張ろう。

posted by くおん at 06:32| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年01月19日

2016年の抱負

いつの間にか2016年。かなり久々。
前回の投稿が2013.4.22なのではや3年弱。あっという間ですね。

この3年で身の回りは色々変わりました。
家族が増えたし資格も増えたし英語が少しは読み書きできるようになったし、
仕事は続けながらアメリカの某大学の大学院生にもなりました。
自分の中での価値観や考え方は大きな転換のあった期間でした。

今年の抱負は
・来年1月に無事、大学院を修了できるよう勉強および語学力の向上に励む
・来年1月or2月の引越しに向けた現住居の片付け
・卒業後の活動を見据えて、久しぶりにプログラミングに手を出したい
を重点に据えたいと思います。

しばらくやっていない音楽もまたやりたいし、
今まで手を出したことのない分野にも興味があったりとやりたいことは色々ありますが、
そこは敢えて今はやらない!という意思で、
重点分野に力を注ごうと思います。
posted by くおん at 08:30| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年04月22日

H25春プロジェクトマネージャ試験受験

昨日、プロジェクトマネージャ試験を受験してきた。
・午前1
 H24秋の応用情報処理試験合格により免除
・午前2
 自己採点では72点。60%以上が基準なのでまぁ通過できると思う。
・午後1
 自己採点は不明だけれど、これまでの過去問で自己採点した感覚からすると
 多分、大丈夫だろうという感触。
・午後2
 これが全くどう判定されるか・・・・
 事前対策の内容は多分7割くらいは反映できたと思うんだけれど
 最後の時間が足りず、まとめ方がかなり雑になってしまったのが心配なところ。
 やっぱ手書きは結構時間がかかる。
 予定していた時間配分は概ね守れて、問題選択、下書きまではよかったんだけれど
 本文書きながら修正して・・・という丁寧な作業を前半やりすぎた。
 おかげで後半から急に雑で読み手はびっくりするかもしれない。
 あと肝心な工夫点がちょっと内容薄かったかも・・・
 もうちょっとざっくり最後まで書いてから細かいところを修正した方がよかったかもしれない。
 ただ、手書きなので後から修正も難しいのでなんとも・・・

2ヵ月後の合格発表までは受験したこと忘れてた方が精神衛生的によさそう。
posted by くおん at 05:27| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年04月10日

リソース集中

やりたいこと・やらなければならないことは沢山ある。
とりあえず4/21のプロジェクトマネージャ試験まではそちらにリソースを集中することにする。

GMOのVPSは今週末で一旦、お試し期間切れ。
更新するかどうか悩み中。。。
posted by くおん at 08:53| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年04月07日

GMOのVPS 一時作業中断中

Ubuntu12.04のデスクトップ環境も整って、だいぶ使える感じになってきたGMOのVPS 2週間お試しサービス。
お試し終了までそれほど時間が無いので色々やりたいのは山々だけれど、今週末は作業を一時中断、ほとんど触らずに終わった。

やりたいこと
・MT4の本格利用に向けた操作確認、
・EAプログラミング
・バックテスト
・システムトレード本格運用

やらなければいけないこと。
・4/21のプロジェクトマネージャH25春季試験の試験対策
・特にあと2週間の追い込みで午後Uの小論文対策

やりたいこととすべきことへのリソース配分が難しい。
ラベル:VNC ubuntu 備忘録 VPS MT4
posted by くおん at 23:13| Comment(0) | TrackBack(0) | VPS | このブログの読者になる | 更新情報をチェックする

2013年04月04日

GMOのVPS TigerVNCの利用

色々と試行錯誤していたVNCサーバの変更。
結果としては /dev/loop.org.uk のUbuntu/Debian向けinstall手順に従ってインストールできていました。

使い方がよく分からないと悩んでいたのは以下の理由。
・サーバ側での圧縮率関連の設定があると思い込んでいた。
・RealVNCと違う設定が必要だと思い込んでいた。
・クライアント側のViewrを変える必要があるということを軽視していた。

普通にVNCを使える環境を一度整え終えていれば、
TigerVNCをinstallした後はサーバ側で必要な設定は特に無かった。
実際にinstallされているかどうか不安なので確認する手段は以下。
$man vncserver
表示されるマニュアルの最後の著作権表示(?)がRealVNCではなくTigerVNCになっていればOKでした。
ラベル:ubuntu MT4 VNC VPS 備忘録
posted by くおん at 05:36| Comment(0) | TrackBack(0) | VPS | このブログの読者になる | 更新情報をチェックする

2013年04月03日

GMOのVPS 2週間お試しサービス終了

GMOのVPS+ubuntu12.04の2週間お試しサービスを始めてから早くも2週間が経過。
サービス終了となりました。
当初の目的であったMT4利用環境の構築とAndroid開発環境の構築は
一応、利用できる状態まで構築完了した。
ただ、MT4についてはこれから試行錯誤して実際に動作を確認したいので、
初回の2週間お試しは一旦終了、解約として
改めて別のメールアドレスで新規に2週間お試しサービスを申し込んだ。
これは何故かGMOのVPS15日間お試しサービスのページの「対象のお客様」にも可能であると明記されていて、実際に名前やカード番号が同一でもメールアドレスだけ異なるもので申し込んだらチェックにひっかかることもなく利用可能になった。
なんて太っ腹なんだろうか。
posted by くおん at 06:31| Comment(0) | TrackBack(0) | VPS | このブログの読者になる | 更新情報をチェックする

2013年03月31日

GMOのVPS スループットの単位の違い。VNCでの利用帯域

寝ぼけているせいか、前の記事のタイトルと書いてることが違った・・・

VNCの利用帯域削減で色々やってる間に気がついた。
前のエントリ(これこれ)でVNCでの利用帯域が270〜280kbpsと書いたけれど、初歩的かつ大きな誤りがありました。

ubuntu12.04のシステムモニタでの表示単位はKiB/sで大文字Bはバイト=8bit、
kbps(=kb/s)の小文字bはbitなので変換が必要なことに気づきました。思い込みとは怖いです。
というわけで270〜280kB/sは、2.16〜2.2Mbpsなのでした。。

思ってよりさらに大きい。。。
ちなみに270kbps程度でも重たいと思ったのは以下の理由から。
ドコモmoperaのAPモード(ガラケーF01-Cでのテザリング相当機能)で追加料金不要な運用だと128kbpsが上限になるためで、どちらにしろ利用できる帯域を大幅に超えていることには変わらない。。
ラベル:ubuntu 備忘録 VPS VNC
posted by くおん at 02:48| Comment(0) | TrackBack(0) | VPS | このブログの読者になる | 更新情報をチェックする