seabornによる統計データ可視化(ポケモン種族値を例に)(2)

統計データを可視化する上で有用なseabornの全てのグラフのサンプルをポケモンのステータスデータを例に作成しました。(前記事の続きです)

seabornによる統計データ可視化(ポケモン種族値を例に)(1)

統計データを可視化する上で有用なseabornの全てのグラフのサンプルをポケモンのステータスデータを例に作成しました。

chainer: トレーニングモジュールの拡張方法まとめ

chainerのチュートリアルをこなしたあと、 mnistなどライブラリが標準で用意してる以外の独自データセットをどうやって作ったら良いんだろう? 複数のモデルが絡むネットワークを同時並行に訓練/評価するにはどうすれば? といった点で困ることが多くありま…

chainer: Evaluatorを自作してトレーニング中のモデルの評価を柔軟に行う

Evaluatorとは DNNの訓練を行う中でモデルの訓練が意図通り進んでいるかを評価したくなることが多いと思います。 Chainerでは定義したモデルの訓練を行う際にそのモデルの評価を行うための仕組みとしてEvaluatorという 仕組みを持っています。 このEvaluator…

chainer: Extensionを自作してディープラーニングの訓練に独自処理を挟み込む

なぜExtensionを自作するのか Chainerのモデルのトレーニング中に、 たまにモデルの出力をダンプさせたい(特に生成系で必要になる) 1エポック毎に学習率を手動で変更したい など、独自の処理を定期的に挟みたくなることがあるかと思います。 このような願…

chainerのupdaterを自作して複雑なネットワークを訓練する

なぜupdaterの自作が必要か chainerで様々なニューラルネットを試していると、どこかで複数のモデルが組み合つもの、 複数の出力を持つものなど、込み入ったネットワークを訓練したいことがあると思います。 よくあるmnistのサンプルなどでは optimizer = ch…

スレッドとキューとキューランナーとコーディネータの関係

TensorflowのDeveloper’s Guideのスレッドとキュー解説をかいつまんでまとめてみる。 Threading and Queues | TensorFlow キュー 文字通り、データのキュー。FIFOQueueなど。 q = tf.FIFOQueue(3, "float") として定義した後、 x = q.dequeue()でデータのポ…

Tensorflow + Jupyterのsave & restore時のトラブルとその回避方法

Tensorflowでモデルを保存しようとする場合にsaveしたモデルをrestoreすることができないトラブルに遭遇した。 保存側: import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_data x = tf.placeholder(tf.flo…

動画紹介: 確率的ニューラルネットワークについて

昨年末VAEの勉強をしているときに、以下のようなことがわからなくて時間を喰っていた。 なんで確率的に毎回出力の異なるモデルが必要になるのか reparameterization trickがなぜ必要になるのか いろんな人に質問したり、関連サイトを読み漁ってなんとかなっ…

着彩済イラストから綺麗に線画を抽出する方法

機械学習のテーマの一つとして自動着彩があります。この中で、特にイラストの自動着彩を考えると 未着彩と着彩済みのペアが学習用サンプルとして大量に必要となりますが、まとまった量を入手するのはなかなか難しいという問題があります。 すると、カラーイ…

chainer: 独自datasetを定義する方法

chainerで独自データセットクラスを作るための方法を明示的に示したドキュメントが 見当たらなかったので、備忘録をかねて書く。実はとっても簡単。 データセットにするクラスは chainer.dataset.DatasetMixinを継承する 内部に持っているデータの数を返却す…

AWS Step FunctionsとLambdaでディープラーニングの訓練を全自動化する

動機とやったことの概要 AWS Step FunctionとLambdaでディープラーニングの訓練を全自動化する from mizugokoro スポットインスタンスで学習をして、無駄なくインスタンスを止めたい Step Functionsへの入力を変えるだけで様々な条件での学習を実行させたい …

生成モデルpix2pixを動かしてみる

pix2pix is 何 2016年11月に発表された、任意の画像を入力にして、それを何らかの形で加工して出力する、というある種の条件付きGAN。 GANって何: 画像等のデータ入力を真似て偽造する生成器と、そのデータが生成されたものか本物かを識別する鑑別器を互いに…

Numpy逆引きメモ

Numpyでよく使う操作のメモ。自分用、随時追記 生成 リストで指定した内容の行列を生成 numpy行列からlistへの変換 1で埋めた行列を生成 0で埋めた行列を生成 対角行列の生成 ランダム要素で埋めた行列を生成 指定区間の数列を生成する 情報取得 行列の要素…

Chainer環境をAWSのUbuntu16.04+CUDA8.0上に構築する

目的 AWSのUbuntu 16.04上にChainer環境を構築する 構成 OS: Ubuntu 16.04 (AMI ID: ami-0567c164) CUDA 8.0 Cudnn8.0 Chainer 1.18 手順 cudaのインストール $ wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v5.1/prod/8.0/cud…

できるだけ丁寧にGANとDCGANを理解する

目的 Chainerの扱いに慣れてきたので、ニューラルネットワークを使った画像生成に手を出してみたい いろいろな手法が提案されているが、まずは今年始めに話題になったDCGANを実際に試してみるたい そのために、 DCGANをできるだけ丁寧に理解することがこのエ…

Chainerでフォントを識別してみる (2)

前回、二つのフォントをいい感じに識別できていたので、識別対象フォントを12に増やしてみた。 今回識別対象にしたフォントたち Helvetica Bodoni Futura Optima Clarendon GillSans Caslon Garamond Avenir Times New Roman American Typewriter Trajan 訓…

Chainerでフォントを識別してみる (1)

Chainerで何か分類してみるにあたって、1. 分類できて嬉しい 2. サンプル収集の目処が立ちそう 3. 莫大なデータ量にならないな分類対象として、文字のフォントの分類をしてみようと考えた。 1. 分類対象クラス 分類クラス数は今後増やしていくとして、まずは…

「ゼロから作るDeep Learning」を読み終わった

「ゼロから作るDeep Learning」を読み終わった。ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカバー)この商品を含むブログ (5件)…

ブロックチェーンとは (bitcoin wiki 和訳)

ブロックチェーンとはbitcoin wikiの文章を和訳してみる。 誤訳等指摘いただければ喜びます Block chain - Bitcoin WikiA block chain is a transaction database shared by all nodes participating in a system based on the Bitcoin protocol. A full cop…

bitcoinのアドレスについて[和訳]

例によってあんまり日本語で転がってなかった情報のbitcoin wikiの和訳シリーズ。Bitcoinクライアントをダウンロードして使ってみたらアドレスが沢山あってどういう仕組みかわからなかったので勉強がてら翻訳してみた。 - Address - Bitcoin WikiBitcoinアド…

二次利用可能範囲の広いor制限無しの写真を探す方法

世界最大級の写真共有サイトFlickrwww.flickr.com で二次利用可能な写真を探す方法。 Flickrでは、写真の利用ポリシーを選択して検索を行うことができる。 プレゼンテーション資料等を作る時に、著作権的にクリーンな素材を集められるので重宝している。 た…

第14回granpark.rb出題問題「少林寺秘棍房弟子のたかしくん 」

granpark.rb、久々のアルゴリズムペアプロ回で出題した問題です。この問題はTopCoder SRM481 Div2 Level3の問題を改題して作っております。 たまには問題真正面からの幅優先・深さ探索ではなく、 バイナリサーチとか使う問題出したいな、と思ってこの問題を…

第11回granpark.rb出題問題「迷路職人の朝は早い」

久々にペアプロの課題。指定された大きさの迷路を作れ、というのが問題の趣旨。 一応迷路の要件はつくったのですが、 # #.............# #.#.#.#.#.#.#.# #.............# #.#.#.#.#.#.#.# #.............# #.#.#.#.#.#.#.# #.............# #.#.#.#.#.#.#.#…

指定したファイルの更新があったらコマンドを自動実行するシェルスクリプト

プログラミングの作業をしていると、一旦コンパイルや実行を行なって結果を確認したくなることがあります。C++やJavaであればコンパイル -> 実行が必要ですし、rspecのようなコマンドでテストを行いたい場合もあると思います。その度にエディタを終了-> (コ…

第8回granpark.rb出題問題「銀将ご乱心」

恒例になってきたペアプロ課題出題。 今回は将棋の銀の動きがテーマです(、が問題設定自体は将棋のルールからだいぶ逸脱してます。)スライドの解法は適切に切り分けることで問題を経路の場合の数を数え上げに 落としこむ感じです。解法の補助線として1の場…

2013/1/11 第6回 granpark.rb 「けちなペンキ屋」

新年あけまして、最初の勉強会。今回の問題はこんな感じ。解答例はかなり力任せでO(n^4)近くまで時間のかかるダメな感じの例ですが、 参加者の皆さんがO(n^2)で解ける良い感じの回答を出してくれました。 (1皆さんの回答例は下記に上げてもらってます。 http…

2012年12月第4回granpark.rb 「山本山の野望」

12月の勉強会で出した課題と回答。1問目は(1)回文判定と、(2)与えられた文に+αして最短の回文にするっていう内容。 (2)をいろいろな書き方をする人が多くて面白かった。2問目は与えられたマップから島(コロニー)の数を数える、という問題。 勉強会の時間内…

2012/11/16 第2回granpark.rb 「ポーの惑星」

社内勉強会で、ペアプログラミングでアルゴリズムの問題を解いてみよう!っていう 試みがあったのでこんな問題を作った。解答例はこちら見る人が見ればすぐわかるように、(逆じゃない)ポーランド記法を 処理しましょう、って旨。 上記のように、逆から読ん…

AOJ0052 Factorial II

問題例によってRubyで書いた。末尾に0がつく===10が掛かっている===2と5がかかっている、だから 素因数の2と5の少ない方が0の個数になる、という方針で解いた。以下ソースと、テスト。 # encoding: utf-8 class ZeroCounter attr_accessor:num attr_accessor…