読者です 読者をやめる 読者になる 読者になる

verilog書く人

自称ASIC設計者です。どなたかkaggle一緒に出ましょう。

エイプリルフールなので、chainerのGUIクライアントを作った。

GitHub - fukatani/ChainerWing: GUI deep learning IDE based on chainer. ※一応動きます。 こんな感じ。 ぽちぽちやってるとニューラルネットが組みあがります。chainerベースです。 めちゃ機能が少ないですが、今後充実する予定。たぶん。

【PFIセミナーまとめ】chainerMNはなぜ速いのか、今後の提供は?

先日このグラフで世界を驚かせたchainerMNの中身の話をchainerMNによる分散学習 - YouTubeでやっています。 chainerは分散ディープラーニングフレームワークとして現在世界最速だそうです。 視聴したのでメモ。おもしろかったです。 語り手はchainerMNの作者…

numpyやchainerでのベクトル、行列、テンソルの積関連演算まとめ

年末年始にテンソル積と格闘しわけがわからなくなったのでメモ。 numpyのいわゆる積と呼ばれるAPIには、 numpy.multiply, numpy.dot, numpy.vdot, numpy.inner, numpy.cross, numpy.outer, numpy.matmul, numpy.tensordot, numpy.einsumとまあ結構たくさんあ…

C++からPythonを叩きつつ、boost.numpyを使ってC++とPython間でndarrayをやりとりする

C++メインで作られているシステムからchainerだったり、scikit-learnだったりを使って機械学習をしているPythonモジュールを呼び出しとデータをやりとりさせたいとします。 すると、C++の入力データ(n次元array)をnumpyに変換してPythonに渡し、Pythonからnu…

物体検出用の画像アノテーション正解データ生成に便利なツール

RCNN (Regional Convolutional newral networks)などの機械学習モデルを使って画像から物体検出するには、"どこ"に"なにが"あるのか、すなわちバウンディングボックスの四角の座標(x, y)および正解ラベルが画像とセットで必要となります。 10000枚単位の画像…

scikit-learn 0.20からクロスバリデーションの使い方が変更される模様

機械学習をやるときに結構良く使うところだなと思っていた、クロスバリデーションのスプリッター系モジュールのインターフェースが変わることに気づいたのでメモ。 scikit-learnの従来のクロスバリデーション関係のモジュール(sklearn.cross_vlidation)は、s…

Kaggle KernelでRegularized Greedy Forestがサポートされました

以前 【機械学習】Regularized Greedy Forest(RGF)で多クラス分類を試してみました - verilog書く人 の記事で紹介させていただいたRegularized Greedy Forest及びそのwrapperであるrgf_pythonがKaggle Kernel (旧Kaggle Scripts)でサポートされました。 Kagg…

Microsoft Azureでサインアップしてからkaggleデータで機械学習するまでのメモ

kaggleの本番コンペはデータが大きくて、AzureやAWSなどのクラウドサービスで、メモリ数十GBのモンスターマシンの力を借りたくなることがあります。 この前参加したデータ分析ハッカソンなどで、Azureの使い方をおぼえて来たのでメモ。 Azureは本家のチュー…

Travis CIでscipyを使うときの四苦八苦

Travis CIでscipyをインストールして使うとき、pipでもapt-getでもインストールできなくて、Travis CIのログがエラーだらけになったのでメモ。 調べてみると、 (1)minicondaを使う(2)addons.apt.packagesを使う の二つの選択肢がありそうでした。

scikit-learnモデルのVotingとキャッシング

先月末まで、Shelter Animal Outcomes | Kaggleに参加していました。 同僚の力も借りつつ、なんとかTOP2%に入り込む結果になりました。 トップはほぼパーフェクトに近いスコアの方もいたり、leak多すぎて実態がよくわからん、という印象。 データの前処理は…

chainerにコミットして学んだこと、学ばなきゃいけないと感じたこと

先日大型OSSへのコミットという自分の中での一つの目標を達成することができました。 といってもまだまだ変更は小規模ですが、小さなコミットでも考えさせられる事があって収穫は大きく楽しいので習慣にしたいと思ってます。 コードレビューも丁寧にやってい…

【機械学習】Regularized Greedy Forest(RGF)で多クラス分類を試してみました

RGFとは 中身 インストール 実行ファイルの入手 Perlのインストール Wrapperのインストール 多クラス分類に使ってみた 手早くチューニングしたいとき RGFとは RGFはランダムフォレストや勾配ブースティングのように多数の決定木(Forest)を使った分類/回帰の…

スタッキングのキホン、実践編

【機械学習】スタッキングのキホンを勉強したのでそのメモ - verilog書く人の続きです。 実践、モデルのバリデーションなどについてです 。

【機械学習】スタッキングのキホンを勉強したのでそのメモ

そもそもスタッキングとは 機械学習において、単一の学習器をそのまま使うのではなく、複数の学習器を組み合わせることで、予測エラーを小さくする手法をアンサンブル学習といいます。 アンサンブル(混合学習手法の)には複数の学習器の平均や多数決を取るvot…

Windows 7 32bitにXGBOOSTをインストール

環境:Windows 7 32bit Visual Studio 2010 Express Python 2.7 いろいろとショボい環境にてKaggle界のロトの剣ことXGboostを漸くインストールできましたのでメモ。 64bitの方がらくだと思います。 また、XGBOOSTはWindows 32bit環境では正式サポートはされ…

PreTrainingChainをscikit-learnのGridSearchに対応しました

以前作ったChainerのラッパーであるPreTrainingChain chainerで気軽にスケールできる事前学習器付きニューラルネット生成 - verilog書く人 をscikit-learnの学習器ライクに使えるようにしたのとGridSearchに対応しました。

SOINNで手書き数字MNISTをクラスタリングしてみた

最近ちょいちょいニュースで見かけるようになったSOINN株式会社の機械学習アルゴリズムSOINNを試しました。 コードはこちらのtrain_mnist.pyです SOINNとはSelf-Organizing Incremental Neural Network(自己増殖型ニューラルネットワーク)の略で、クラスタ…

JavaのTreesetをPythonで

「できらあ!!」 「え!!同じデータ構造をPythonで!?」 というわけでJavaのTreesetに当たるデータ構造がPythonで欲しくなったので、自分で実装してみました。 treeset.pyをコピーして使ってください。 Treesetはsetのように、重複が存在しないデータ集合…

雑記chainerエンジョイ勢のためのトラブルシューティング

chainerで遊んでいてつまづいたところのメモ。 インストール編、動作速度編、ランタイムエラー編、動作するけど学習結果がうまくいかないよ編の四つです。

chainerで気軽にスケールできる事前学習器付きニューラルネット生成

のためのコードを書きました。 やりたいこと 1.スケーラブル/コンフィギュラブルなニューラルネット生成 ニューラルネットでは難しい問題を解かせるためには中間層の数を増やす必要があります、 chainerでは普通は↓こんな風にハードコーディングして層を増や…

PythonだけでRaspberry piのGPIOピンをALT0に設定するための話

raspberry Pi2を最近いじっているのですが、GPIOピンからクロックをチップに供給したいことがありました。 そのためには、例えばGPIOピン5を通常の入出力ではなく、ALT0 (alternative function 0)に設定する必要があります。 他にもクロック出力を設定できる…

雑記:IDE使用時にPythonで標準出力をリダイレクトした時のちょっとしたトラブルシューティング

Pythonでは標準出力(いわゆるprint関数の中に入れると文字がコンソールに出ちゃう奴)の出力先をファイルに変える(=リダイレクトする)のも簡単だ。 <a href="http://d.hatena.ne.jp/FGtatsuro/20110120/1295540221" data-…

Veriloggenを使ってみた、そしてVerilogメタプログラミングの新地平を見た

以前から気になっていたshtaxxx氏作Veriloggenを実際に使ってみた。 これは…熱い! <a href="https://github.com/shtaxxx/veriloggen" data-mce-href="https://github.com/shtaxxx/veriloggen">shtaxxx/veriloggen</a>

verilog向けコードメトリクス算出機能をリリース

pyverilog_toolboxにverilog向けコードメトリクス算出機能をリリースしました。 <a href="https://github.com/fukatani/Pyverilog_toolbox/blob/master/pyverilog_toolbox/docs/metrics.md" data-mce-href="https://github.com/fukatani/Pyverilog_toolbox/blob/master/pyverilog_toolbox/docs/metrics.md">fukatani/Pyverilog_toolbox</a> モジュール/ファン…

pyverilog_toolboxをpipにうpるまでの熱い戦い&トラブル時のための備忘録

というわけで、pyveriog_toolboxをpip経由でラクチンインストールするための準備を整えた。 なんかpyverilogもいつのまにか(前から?)pipに対応していたので、私も時代に追いつくべく。 もちろんpipアップロードは初体験です。 基本的に参考にしたのは &amp;…

コードクローンファインダー for verilog

コードクローン(Code Clone) (上記サイトより引用) コードクローンとは コードクローンとはソースコード中での類似または一致した部分を表します. コードクローンは,「コピーとペースト」によるプログラミングや,意図的に同一処理を繰り返して書くことに…

Pyverilog_toolboxの紹介

拙作、Pyverilog_toolboxについて紹介してみる。 Pyverilog_toolboxはPyverilogの構文解析機能を用いて、verilogによるデジタル設計/検証を助けるツールとして開発を行いました。 現在実装されている機能は、組み合わせ回路ループファインダー、コードクロー…

Pyverilogの紹介

verilogで設計をしてる時に、回路の構造をプログラム的に処理することにより、 何か悪い構造などをサーチしたいときがある。 そんなとき、私が頼りにしているのがPyverilogだ。 Verilog HDLのデザイン解析・コード生成のためのPythonベースのオープンソース…