Pythonの練習 -> https://github.com/space-weather-KU/bbt-sw/blob/master/python-cheatsheet.md 参考文献リスト -> https://github.com/space-weather-KU/bbt-sw/blob/master/%E8%B3%87%E6%96%99.md Pythonの教科書は色々ありますし、Web上の資料も充実していますが、1つ挙げるなら[柴田淳(著)「みんなのPython」 第3版] (http://amzn.to/1QlWqGR) がおすすめです。
以下の説明で、$
で始まる行は、キーボードから入力するコマンドを表します。
先頭の$
は除いて、のこりを入力してください。
Python2/Python3という選択肢がありますが、今回参考にするHMI Science Nuggets がPython2で書かれているので当面Python2を使おうと思います。
AnacondaがあればPython3の環境を作ってAnaconda内から切り替えられます
- Windows
- Anacondaをインストールする のがおすすめです。
- Windows用 参考記事
- Mac OSX
- homebrewを使うのが便利です。 http://qiita.com/zaburo/items/fbdaf6c04151671407db
- Anacondaを入れる場合は若干注意が必要です。こちら Mac OSX用 参考記事
- Unix系
- 各ディストリビューションのパッケージマネージャ等を使ってください。
- LinuxにもAnacondaがおすすめです。 参考記事
後期は、太陽観測データを本格的に扱う必要がありますので、どのような方法が良いか調査してきました。皆様に以下の方法で行けそうか試してもらえればと思います 。
HMI Science Nuggetsの記事を参考にします。
ここに[S1] .. [S5]としてリンクされている先は、Pythonの実行可能なメモ帳「Jupyter」のソースコードです。
- ここのS3の記事 making movies of the Sun が実行できて、太陽の活動領域のムービーを作成するところまで行けるか試してください。みなさまの環境で躓くところをおしえてください。
Jupyterは、AnacondaやOS付属のコマンドラインから次のコマンドを入力するとインストールできます。
$ pip install --user jupyter
上記のサイトからmovie.ipynb
をウンロードしてきてください。そして、movie.ipynb
の存在するフォルダに
移動して
jupyter notebook
としてjupyterを起動してください。 うまくいったら、Analyzing SDO/HMI Data Using Pythonの他のスクリプトや、他のHMI Science Nuggetsも試してみてください。
- 動画生成に必要な
ffmpeg
ライブラリはここ https://anaconda.org/menpo/ffmpeg にあるように、Anacondaからインストールできます。
conda install -c menpo ffmpeg
と入力してください。
movie.ipynb
の最後まで行って動画は生成されるが生成した動画が再生できない場合、最後の行にextra_args=['-vcodec','libx264']
オプションを追加するとうまくいく可能性があります。
ani.save(NOAA_ARS+'.mp4', savefig_kwargs=savefigdict, writer='ffmpeg_file', dpi=my_dpi,extra_args=['-vcodec','libx264'])
まずは、上記手順を参考に, python, pipをインストールしてください。そして、
$ pip install --user chainer
を実行して、chainer (1.8以降)をインストールして下さい。
他に、matplotlib, PILも必要なのでインストールします。
$ pip install --user matplotlib
$ pip install --user PIL
Windowsでは、PILの代わりにpillowを使うのが良いようです。
$ pip install --user matplotlib
$ pip install --user pillow
gitをインストールし、コマンド
$ git clone https://github.com/space-weather-KU/bbt-sw.git
を実行するか、あるいはこのページの上の方にある"Download ZIP"ボタンからファイル一式を手に入れてください。
次に、犬猫画像を用意します。
後述のASIRRA Cat and Dog image corpus
http://research.microsoft.com/en-us/projects/asirra/corpus.aspx
から 885MB の猫犬画像データセットをダウンロードするか、あるいはUSBメモリから受けとって、
さきほどgithubから手に入れたフォルダ(cat-or-dog.py
などがあるところ)に、PetImages/Cat フォルダおよび
PetImages/Dogフォルダがあるようにしてください。
- プログラミング言語 python の処理系
- pythonで書かれた深層学習ライブラリ chainer
- 学習につかうための犬と猫の画像のデータセット
が準備できました。
この状態で、
$ ./cat-or-dog.py
を実行すると、犬と猫の画像にもとづく学習が始まります。学習結果はmodel.save
および state.save
という2つのファイルにセーブされます。
十分学習させるまで数時間待つか、あるいは次のコマンドで予め学習済みのセーブデータを移動してきて、
$ mv learned/* .
次のようにして、ある画像が猫か犬かを判定出来ます。
$ ./cat-or-dog.py PetImages/Cat/0.jpg
Load model from model.save state.save
PetImages/Cat/0.jpg is a cat
自分で撮った写真や、インターネット上から探してきた画像でも試してみてください。
~/hub/bbt-sw (master)$ ./cat-or-dog.py tama.jpg
Load model from model.save state.save
tama.jpg is a cat
このプログラムを応用して、たとえば「ある時刻の太陽画像」から「24時間後に起こるフレアのクラス(X,M,C)」を予測したり、「72時間後までに起こる最大のフレアの規模(W/m^2)」につなげていきます。
他にも、「画像から何かの分類・数値を予測する」という様々な用途に応用できます。
-
PredNet https://arxiv.org/abs/1605.08104
-
Generating Videos with Scene Dynamics http://web.mit.edu/vondrick/tinyvideo/
-
WaveNet (音声) https://deepmind.com/blog/wavenet-generative-model-raw-audio/
-
Temporal Generative Adversarial Nets https://arxiv.org/pdf/1611.06624v1.pdf
-
自然言語の文章により指定された物体だけを、画像内から選ぶ http://www.eccv2016.org/files/posters/S-1A-07.pdf
-
ASIRRA Cat and Dog image corpus http://research.microsoft.com/en-us/projects/asirra/corpus.aspx
-
Googleの「猫ニューロン」論文 http://static.googleusercontent.com/media/research.google.com/ja//archive/unsupervised_icml2012.pdf
-
ホテルの部屋の画像を作る(画像生成系の始祖) http://arxiv.org/pdf/1511.06434v2.pdf
-
DCGAN Face Generator https://mattya.github.io/chainer-DCGAN/
-
画像から英文を作る https://cs.stanford.edu/people/karpathy/cvpr2015.pdf
-
英文から画像を作る http://arxiv.org/pdf/1511.02793v2.pdf
-
LSTM による自動翻訳 https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf
-
Playing Atari Game with Deep Reinforcement Learning http://arxiv.org/pdf/1312.5602.pdf
-
Alpha Go http://www.nature.com/nature/journal/v529/n7587/pdf/nature16961.pdf
GOES観測データ 1時間おきにサンプルしたもの https://github.com/space-weather-KU/bbt-sw-samples/blob/master/goes-data-1hr.txt?raw=true