アサトの実験blog

Pythonでの自動化とか、IT関連で興味のあるテーマについて色々実験する場所です

【今日のOSSxクラウドNews】【講演資料を公開】9/30 クラウドの普及で急増する“隠れたリスク”に対応する「Deep Observability(高度な可観測性)」とは? ~ハイブリッド・クラウド環境のデータ保護を実現~

【今日のOSSxクラウドNews】【講演資料を公開】9/30 クラウドの普及で急増する“隠れたリスク”に対応する「Deep Observability(高度な可観測性)」とは? ~ハイブリッド・クラウド環境のデータ保護を実現~

【今日のOSSxクラウドNews】【講演資料を公開】6/12 AI(人工知能)で上司・マネージャーの働き方を改革 ~AIがメンバーのメール確認、クレームを発見、改善の糸口にし、売上が急増した事例~

【今日のOSSxクラウドNews】【講演資料を公開】6/12 AI(人工知能)で上司・マネージャーの働き方を改革 ~AIがメンバーのメール確認、クレームを発見、改善の糸口にし、売上が急増した事例~

Coursera Machine Learning Foundations (完了)

風邪?なのか、喉の調子を悪くして会社も3,4日休んだり、復帰してからも会話や食事が喉が痛くて苦痛だった日々が続いていました。

まあその状況の中でもなんとか根性で Coursera の Machine Learningの教育だけは続けていました。

やっぱり全部英語なのと、機械学習の基礎知識の不足のコンビネーションで難しい言葉を英語で理解する。。というのが一番大変だったように思います。

が、なんとか無事コースはすべて完了し、Certificate も取ることができました。

f:id:asato418:20181104200841p:plain

コース全体を通しては、Python, Jupyter Notebook (授業では、Ipython Notebookといってましたが)、Graphlab Create のツールを使って

1)回帰分析での家の価格の予測]

2)Classification (分類): 評価がポジティブなのかネガティブなのかの分析

3)Clustering & Similarity : ドキュメント検索の類似性(分類とどれくらい類似しているか) その際につかう TF-IDF (tf(英: Term Frequency、単語の出現頻度)とidf(英: Inverse Document Frequency、逆文書頻度)とか

4)リコメンダー(推奨)システムとか

5)ディープラーニングの基礎、類似画像検索

とか、基礎とは言えとても興味部会教育でした。

それに、Python、GraphLab Create のライブラリの豊富さ、それを使えばあまり数学知識がなくても授業でならったことを真似することで機械学習っぽいことができることを学ぶことができました。

本当はもっと復習して自分のものにしたいと思ってますが、本気でここ3週間体調が悪く、あまり頭を使うことができなかったこともあり、時間のある時はもう一つの旅行に関するブログを更新したりしてました。

ようやくだいぶ体調も戻ってきたので今後はなるべく1回/1週間くらいのペースで何か書いていきたいと思っています。

Coursera Machine Learning 3週目

今週末の3連休も旅行に出かける予定なので、早めに Courseraの Machine Learning

www.coursera.org

の第三週の課題を終わらせておきたい。今日(日曜日)に終わらせておかないとちょっとできないかもしれないと焦り気味。

まあ紆余曲折ありましたが、とりあえず課題は100%で完了しました。

f:id:asato418:20181001021120p:plain

うーん。なんとか問題を解いてはいるが理解度はイマイチ。復習できる時に復習したい。 とはいえ、6週間のコースを全部終わらせて Certificated にするのが最優先。

なので先に第4週に進もう。

自動投稿エラー。。。

ローマに旅行に行ってたり、色々忙しくて投稿がない期間が結構続いてしまいました。

こういう時の為に、OSSxクラウドNewsに記事が上がったら自動でリンク記事を投稿したりして、それにコメントするなどでお茶を濁そう(笑)としていたのですが、自動投稿が失敗し続けてました。

heroku logを見るとXMLのParse Errorが発生して投稿失敗していた模様。なんでだろ?と思ったら エスケープ文字の処理を body部分にのみおこなっていて、タイトルは処理してなかった。。。。

data = create_data(title, body)

してpostしていたところでエラーが発生してたようです。あほですな。何よりもすぐに気づかないところが。。。

修正してテスト実行。。まあこれでいいかな。。(次の記事が自動投稿記事。まあ無視してください w)

CentOS7 + Python 開発環境構築

CentOS7 + Python 開発環境構築

vagrantで既存のcentos環境を複製した後に、python2, python3 が共存できる環境を pyenvコマンドで構築する手順のメモ Courseraの課題は、一旦は別Windowsに python2の環境構築して乗り切ったのですが、いつも学習・開発に使っている環境でやりたい(そうしないと色々不便でたまらない)ので、そちらの vagrant環境に構築することにしました。

1.既存のVagrant環境からの複製

>d:
>cd \vagrant
>mkdir python-env
>cd python-env
>copy ..\centos75\Vagrantfile .    ←既存のcentos75環境からVagrantfileをコピー

2. vagrant 環境起動

>vagrant up

まあここまでは自分用のメモ。 Vagrantしばらく使ってないとわすれることがあるので。

3. centos環境にログイン後、git インストール

$ sudo yum -y install git

4. pyenvのインストール。環境設定

$ sudo yum -y install gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel bzip2 sqlite
 zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$  echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

最初の行の依存ライブラリのインストールが大事。これやってないとpyenv動かなくってはまります。 私も最初少しはまった後ググって以下の記事を見つけました。ありがとうございます。

qiita.com

で、

$ pyenv install --list 

とすると、インストールできる pythonのバージョンリストが表示されるので、

2系として、2.7.15 3系として、3.6.5

をインストールします。

$ pyenv install 2.7.15
Downloading Python-2.7.15.tar.xz...
-> https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz
Installing Python-2.7.15...
Installed Python-2.7.15 to /home/vagrant/.pyenv/versions/2.7.15

続いて、python 3.6.5

$ pyenv install 3.6.5
Downloading Python-3.6.5.tar.xz...
-> https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
Installing Python-3.6.5...
Installed Python-3.6.5 to /home/vagrant/.pyenv/versions/3.6.5

以上で、Python 2.7.15, 3.6.5 の両環境が使える環境ができました。

5.Coursera Machine Learning用環境の作成

前回、すでにPython3.6環境を素で入れていたWindows環境に入れようとしてはまりまくった CourseraのMachine Learningで使っている  GraphLab Create, IPython Notebookの環境を作ります。 Python2 系を使っているようなので、

5.1 pyenvでpython 2.7.15 環境を使う

$ pyenv global 2.7.15 

として、2.7.15 を使うようにします。

5.2 pipenvのインストール、pipenvで仮想環境利用

私がherokuを利用する時に使っていて便利だと思っている pipenv コマンドで仮想環境を利用します。

$ pip install pipenv
$ mkdir coursera
$ cd coursera
$ pipenv shell

5.3 Coursera Machine Learning 学習環境の構築

そして、前回Windowsに直接インストーラで入れようとしてはまりまくったGraphLab Createの環境構築。

your registered email, your product key here の所には、それぞれ

https://turi.com/learn/coursera/

で登録して届いた e-mailからの値を入れて実行します。↓

$ pip install --upgrade --no-cache-dir https://get.graphlab.com/GraphLab-Create/2.1/your registered email address here/your product key here/GraphLab-Create-License.tar.gz

すんなりインストール成功。いろんなオンライン学習利用するには、pyenvで環境作っておいた方がよさそうですね。 後は、サーバ上に環境を構築したので、起動時には外部から接続できるように --ip= のオプションを指定して IPython notebookを起動します。

$ ipython notebook --ip=0.0.0.0

5.4 IPython notebook に接続。

ブラウザから、起動した IPython notebookに接続します。私の環境では、192.168.0.24 が vagrantで動いているサーバのIPアドレスなので

http://192.168.0.24:8888

で接続。

f:id:asato418:20180930180950p:plain

無事接続に成功しました。これで Courseraの学習がこの環境でできそうです。

ちなみに、IPython(Jupyter)notebookで ipynb 形式で手順書とかを作って githubに入れておくとそのままノートブックの手順が見られるので便利ですね。。

github.com

ちなみに、以下は Coursera の 機械学習の第2週、家の価格の予想関連の Notebook(授業部分)です。これに加えて、自分で計算した値とかを答えるという課題が2週の宿題でした。

github.com

時間があれば、学んだこととか、課題の回答とかあたりも記事としてあげようと思います。

GraphLab Create Launcherのインストール(Coursera Machine Learning 受講準備)

オンライン教育のCourseraで、機械学習(Machine Learning)の授業が始まったので受けている。なぜかっていうと、Kaggleとかやる前に基本知識が足らなすぎることを痛感したので、勉強しようと考えたから。

しかし、教育で使用する GraphLab Create Launcherのインストーラをダウンロードして実行するが、全然インストールが成功しない。ネットを見たら同じようなエラーが発生してる人が一杯いることは分かったが具体的な解決方法が見つからない。

こういうエラーが発生するインストーラは人の時間を奪うという意味で害悪だと思う。本当に。

インストールのページに戻ったら、インストーラでインストールする方法の隣に pip を使ったインストール方法が載っていて、その中をよく読むと virtualenvを使った環境構築方法が載っているのを今更だけど見つけた。

こんなにエラーがおきまくるインストーラよりもこっちの手順をメインに書いといてくれや。。と思いながらとりあえずは Graphlab Create Launcherのインストールエラーのせいでぶっ壊れた Python環境の再構築実施中。。

インストーラだから良しなにやってくれるという甘い考えを持った私が愚かだったのか。。。時間をかなり無駄にした。