Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは,いしたーです.最近はDeNAで3次元復元関連のアルバイトをしています. 今回は3次元復元の古典的な手法であるTomasi-Kanade法[1]の解説をしていきます. コードはGitHubにあります. Tomasi-Kanade法とは 2次元の画像の集合から3次元の物体を復元する手法です. さっそくデモをお見せします. これらはある3次元の点の集合を撮影(平面に投影)したものです. これらの画像をTomasi-Kanade法で処理すると,こんなふうにもとの3次元の点群を2次元の点群のみから復元することができます. 実際に実行し
import chainer import chainer.functions as F import numpy as np hoge = np.array([i for i in range(9)]).reshape(3,3) """ array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) (3, 3) """ hogehoge = np.array([i*i for i in range(9)]).reshape(3,3) """ array([[ 0, 1, 4], [ 9, 16, 25], [36, 49, 64]]) (3, 3) """ hogehogehoge = F.hstack((hoge, hogehoge)) """ variable([[ 0 1 2 0 1 4] [ 3 4 5 9 16 25] [ 6 7 8 36 49 64]])
chainer.functions.loss.vae.gaussian_kl_divergenceの使い方メモ 引数に多変量正規分布の平均ベクトルと対数共分散行列をとり, 出力結果として 引数のパラメータをもつ多変量正規分布と多変量標準正規分布とのKL-divergenceの値を 返してくれる. VAEのコードを書く際に, 潜在分布と標準正規分布のKL-divergenceを最小化する 条件を書くと思うのでこいつを用いるとサラッとかけたりする. 下記の通り, 引数として用いる分散は対数を取ったものであることに注意. from chainer.functions.loss.vae import gaussian_kl_divergence mu = np.array([0.0, 0.0]) ln_var = np.array([[0.0, 0.0], [0.0, 0.0]]) gaussia
本稿では、Azure Batch AIを利用して、Chainer MNのMNISTのコードをGPUノードを複数並べて実行してみたいと思います。 Batch AIとは? Batch AIとは、マイクロソフト社のパブリッククラウドであるAzureの1製品で、GPUの載ったノードを並べたクラスターをオンデマンドで簡単に作成しDockerを利用してディープラーニングの学習をすぐに実行できる環境を提供する仕組みです。 *製品イメージ図 ポイント ・Nvidia社のGPU(Tesla V100, P100, P40, K80)を載せたサーバーを大量に並べたクラスターを、1行のコマンドで作成できます。 ・マルチノード時に必要なノード間の通信もAzureが自動設定。低レイテンシーなRDMAネットワークを提供するInfinibandも利用可能です。 ・価格が8割引きになる低優先度仮想マシンを利用して、通常利
Azure Batch AI - AzureでGPU/マルチノードでディープラーニング計算を簡単に行う!(Chainer MN編) https://qiita.com/YoshiakiOi/items/2f143e62bcf5d7daa8e9 に続いて、Batch AIを使っていきます。 今回はChainer MNのジョブを、AzureのInfiniband付き(もちろんGPUも!)ノードで並列実行していきます! Batch AIとは? 前項参照。 https://qiita.com/YoshiakiOi/items/2f143e62bcf5d7daa8e9 ディープラーニングの学習を、オンデマンドでたくさんGPU付きノードを並べたクラスターを作成して、簡単に並列実行できるようにする、Microsoft Azureの1製品。 今回はInfinibandを利用して、より高速に実行できる環境を
モチベーション DeepLearningの学習って結構時間がかかりますよね? (数時間とか、ヘタしたら数日とか・・・) 手元のPCで学習が回っていて常に状況を確認できるならともかく、リモートのPCで学習は回っていたり、大体時間がかかるからってどっかに出掛けてみたりするじゃないですか。 でも学習が進んでいるかどうかは定期的に知りたい。もっと言えば、エラーで途中終了しているのはすぐにでも知りたい(学習終わってるかな?って思って見てみたら止まってた・・・(泣)みたいなのは避けたい)。 そこで、Slackのpython-slackclientを使って学習結果をslackのchannelに定期的に通知する方法を紹介します。 前半は単純にpython-slackclientの簡単な使い方、後半はchainerのExtensionとしてこのSlack通知機能を実装する方法を説明します。 こんな感じを目指
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 前提と結論 会社で久しぶりに機械学習(というかディープラーニング)をやることになったので、勉強用に自宅の低スペックノートPCに開発環境を構築した時のメモ。 ネットで調べるとcuDNNのセットアップの方法とか色々書いてありますけど、普通のPCで動かすだけなら、Anaconda Navigator からGUIだけでインストールできました。 (CPU版でちょっと勉強したい人向け。本格的にやりたい人のGPU版も入りそうですけど、試せないので正しく動くかどうかはわかりません) 試した環境 Windows10 64bit (CPU: Intel C
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 先日、「サザエさんじゃんけん研究所」1様の「サザエさんじゃんけん白書」が話題になりました。 日曜夕方の代表的なアニメ「サザエさん」の次回予告で行われる「じゃんけん」を記録し、傾向と対策をまとめているという恐ろしい資料です。 1991年11月の開始から現在に至るまで、26年以上のじゃんけんの手が毎週分(執筆時点で1348回!)全て記録されているというから驚きです。2 さらに「サザエさんじゃんけん研究所」様では、傾向と対策を基にサザエさんと毎週じゃんけん勝負をしていて、1996年1月~2018年8月第2週の22年以上で通算勝率70
本書はいわゆる将棋AIをPythonで実現する手法の解説本でありながら、ディープラーニングが学べるというものである。 ※この画像サイズ指定のマークダウン記法は以下参考 Qiita マークダウン記法 一覧表・チートシート alignment効いてないけど、。。 Markdown and image alignment しかし、なんといっても最初の一歩であるChainer環境構築が結構大変。ということで今日はここをまとめておこうと思う。 結局、ほぼほぼ以下の参考のとおりです。 【参考】 ・WindowsでChainer(Cuda+Cupy)をインストールしようとしたらハマったのでメモ やったこと(やるべきこと) (1)Pythonのインストール (2)Visual Studio 2015 Community Editionをインストール (3)Cudaのインストール (4)cudnnのインスト
第二夜は、Chainerの基本です。 本書では、わずか7頁の部分ですが、Deeplearningでどのように動くべきか動かすべきかが分かる教育的なコードです。 まず、ChainerのMnistを解説する前にTensorflowとKerasそしてChainerの同様なMnistのコード記載したいと思います。 ### 今回説明したいこと (1)[TensorflowのMnistコード](https://www.tensorflow.org/tutorials/)と実行結果 (2)[KerasのMnistコード](https://github.com/keras-team/keras/blob/master/examples/mnist_cnn.py)と実行結果 (3)[ChainerExampleのMnistコード](https://github.com/chainer/chainer/blo
第三夜は、方策ネットワークについて記述します。 ある意味考え方として前半の最大の山場です。 基本的には、昨夜のChainerの基本がもとになります。 ### 説明したいこと (1)基本はMNISTと同じ (2)入力チャンネルについて (3)出力チャンネルについて (4)方策ネットワークのコード ### (1)基本はMNISTと同じ ということで、mnistのモデルをおさらいしましょう。 ネットワーク定義は以下のとおりでした。 # ネットワーク定義 class MLP(Chain): def __init__(self, n_units): super(MLP, self).__init__() with self.init_scope(): self.l1 = L.Linear(None, n_units) # 入力層 self.l2 = L.Linear(None, n_units) #
はじめに 本記事は全4回連載の最終回です.ここまで長い道のりでした…! 前回の記事はこちら. AlphaGoを模したオセロAIを作る(3): バリューネットワーク - Qiita また,ソースコードの全文はこちらにあります. これまでに作ったSLポリシーネットワークとバリューネットワークを使って,**モンテカルロ木探索(Monte Carlo tree search; MCTS)**というアルゴリズムでゲーム木を賢く探索することで先読みを行います. ロールアウトポリシー まず,SLポリシーネットワークを単純化したロールアウトポリシーを作ります. モンテカルロ木探索では,ゲーム木の葉ノード(局面)からあるポリシーに従って終局までシミュレーションを実行すること(プレイアウトと呼びます)を何度も繰り返し,その結果をノードの評価値に利用します. プレイアウト回数が多ければ多いほど評価の精度が高くな
はじめに SUSHI食べたい!ということで,DCGANで寿司の画像を生成してみました. やったことは,Chainerのサンプルコードを少し変えて実行しただけです.予めご了承ください. 原理の紹介 今回使用したGANについて, 簡単に原理を解説します. GAN **敵対的生成ネットワーク(generative adversarial networks; GAN)**は, 2014年にMontreal大学(当時)のIan Goodfellowが考案したネットワークで, ノイズからこのような「本物らしい」画像を生成することができます. それぞれの画像において, 一番右の列は隣の列から最も近い教師画像です. すなわち, 左5列の画像は教師データとは異なり, かつ本物らしい画像ということになります. では, どのようにして画像を生成するのでしょうか? GANはこのような構成になっています. A Be
はじめに この記事は OpenCV Advent Calendar 2017 の 20日目の記事です。 (12/20 PM 追記) SHARP 公式さんから言及をいただきました、ありがとうございます! オーナーさんによるロボホンのアプリ実装例 → 万年アドベントカレンダーを実装した(OpenCV+Deep Neural Network+RoBoHoN) https://t.co/HmoOC2Rvps — SHARP シャープ株式会社 (@SHARP_JP) 2017年12月20日 アドベントカレンダーを開け続けたい 今年初めて、我が家にリアル・アドベントカレンダーが導入されて、毎日たのしく開けています。 X'mas が近付き、のこり日数も少なくなってきて、懸念される「家族のアドベントカレンダー・ロス」の解決策として、開け続けられる万年アドベントカレンダーを実装しました。 ロボホンがカレンダ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く