python

Pythonでのソケット(TCP)プログラミングのメモ

ソケットプログラミング(サーバ/クライアント) 簡単なゲームを作る時とか、pythonでプロセス間の通信をしたくなる。そんな時のテンプレート。 サーバ側でIPとホストを指定してソケットを生成、クライアントからの接続を待って、接続があれば処理、これを繰り…

matplotlibのメモ

覚えておく点 matplotlibの使い方をすぐ忘れる(特に、subplot)。この書き方にこだわる必要は無いけれど、要点だけまとめておく。 手順としては、figureを作る(大きなキャンバスを定義)、figureに対してadd_subplotでサブキャンバスを作る。これはaxesって言…

Kerasのバックエンドの使い方

勾配情報を取得したり、特定のレイヤの出力を得たい場合など、色々な場面でKerasプログラムの中でTensorflowレイヤの操作をしたいことが出てくる。そんな時に使うのがバックエンド。 多くはドキュメント見れば良いが、良く分からないAPI(functionとか)もある…

Kerasの処理テンプレート

メモ モデルのcompile時に与えるmetricsは、学習の各エポック毎に計算する学習の指標を表すもの。損失関数は何もやらなくても計算しているので、損失関数以外を指定する。自分で関数を作っても良いが、大概は用意されている。良くあるサンプルではaccuracyが…

Kerasで中間ノードの出力を確認する。

kerasのドキュメントのFAQに書かれているので、それ通りにやれば良い。一応、良くあるボストンの家の価格のデータの例を記載。 そう言えば、kerasが終了時にsessionのdelに失敗する場合がある。ちゃんと、backendのclear_session()を呼ぶ。 import numpy imp…

Keras with scikit-learnのメモ

KerasはTensorflow/Theanoを使って良くあるDeep Learningアルゴリズムのパタンを効率的に実装するライブラリだけど、機械学習と言えばデータ前処理やCross-Validation,パラメタ探索とか他にも共通してやることがたくさんある。そんな機械学習共通のライブラ…

メタプログラミング in python

PythonでもRubyみたいなメタプログラミング(method_missing, sendとか)が色々出来るみたい。 ちょっとずつ調べて書いていく。 モンキーパッチ(オープンクラスとは違う) 動的にメソッド定義できる(なんと!!)。オープンクラスというよりはクラスのattrに直接…

Pythonの開発環境 on Emacs

前提 Caskの使用をやめたので修正@2018/06/02 最低限として文法チェック、補完、REPLが使えれば良い。 ipython notebook(Jupyter)は使わない。 (notebookはやっぱり慣れないのと、別にmarkdownは別ファイルに書けば良いし、図もEmacs内に埋め込み表示しなく…

N以下の重複しない乱数(整数)の生成

C++ 良い方法かは分からないけどiotaやeraseを使った例を見つけたのでメモ.やり方は一旦iotaで[0,1,...max]の配列を作って,それをシャッフルして,eraseで必要ない部分を消す.eraseはイテレータを2つ渡すと,開始位置から終了位置の1つ前までを消去でき…

C/C++からPythonを使う

要旨 Pythonには色々な便利なライブラリがある.C/C++にも便利なライブラリがある.それらが重複しない場合は一方からもう一方を叩けると嬉しい. 参考URL 1. Embedding Python in Another Application — Python 3.5.2 documentation コンパイル方法 色々な…

pandas@python

概要 pandasというのをよく目にする.Rっぽくデータ処理するためのライブラリみたいだ. DataFrameに2次元配列を渡してデータを生成する.タプルの配列や,ハッシュ配列でも行ける. 行はindex, 列はcolumnsで名前を付ければ,名前でアクセス可能.行は意味…

pythonメモ

よく使うけど忘れること 改行 Pythonの一番なれない点としてインデントがブロックの意味を持つ点がある.勝手に改行したりすると意味が変わるので注意する.文の途中で改行したい時は"\"を文末に置く.ただし,(), {},[]中の","の後ろは"\"を省略可能. doc …

データ解析でまずやることのメモ

データ解析をする際に,いきなり回帰したりクラスタリングしたりしない.まずはデータを見ることが重要.これをささっとやれるようにするためのメモ.あまり好きではなかったpythonだけど,pandas, numpy, scipyなどなどに触れると便利だと気づく・・・悔し…