タグ

chainerに関するyukimori_726のブックマーク (290)

  • リカレントネットワークの基本的な考え方 - HELLO CYBERNETICS

    リカレントネットワーク リカレントネットワークとは LSTMやGRU 今回の記事について リカレントネットワークの都合 普通のニューラルネットワークの展開図 普通のニューラルネットワーク ちょっとだけ変わったニューラルネットワーク 入力が複数あっても良い 層を飛んだ結合があっても良い リカレントネットワークの展開図 リカレントネットワークの方程式 合成関数へ持っていけるか リカレントネットワークの展開図 最後に TensorFlow Chainer 来の在り方 リカレントネットワーク リカレントネットワークとは リカレントネットワークとは、ある層の出力がもう一度その層へ入力される「回帰結合」を持つニューラルネットワーク全般のことを指します。 このような結合を持つことで、ニューラルネットは過去の情報を保持することができるようになります。実際には回帰結合の部分には何らかの変換が準備されており

    リカレントネットワークの基本的な考え方 - HELLO CYBERNETICS
  • 可変長ミニバッチを使ったChainerの系列学習の実装 - Qiita

    はじめに Chainer 1.16.0 のリリースでNStepLSTMが実装されました。 NStepLSTMはその名のとおりLSTMの多層化が容易に実現できるモデルとなっています。 内部的にはcuDNNで最適化されたRNNが使われており、従来のLSTMに比べて高速に動作します。 さらにNStepLSTMではミニバッチのデータの長さをそろえる必要がなくなり、各サンプルをリストに入れたものをそのまま入力できるようになりました。 これまでのように-1でpaddingしてignore_label=-1とwhereを駆使したり、データの長さ順にソートしたリストを転置して入力したりという手順が不要になりました。 そこで今回はこのNStepLSTMを使って系列ラベリングの学習をしてみました。 従来のLSTMとのインタフェースの違い NStepLSTMはこれまでのLSTMと入出力が異なるので、今まで実装し

    可変長ミニバッチを使ったChainerの系列学習の実装 - Qiita
  • 長文日記

    長文日記
  • chainerのネットワーク構造可視化 - PlayGround

    chainerで、ネットワークの構造を可視化するcomputational_graphが実装されたようです。 Visualization of Computational Graph — Chainer 1.6.0 documentation これはDOT言語とういグラフ記述の形式で保存されるのですが、DOT言語を知らなくて描画方法がよくわからなかったので調べてメモしておきます。 Graphviz Graphvizは、DOT言語などのスクリプトで表されたグラフを表示するパッケージです。これを入れれば描画できそう。ということでインストール(mac) brew install graphviz 描画 chainerのexampleのmnistのやつを実行したときに生成されるdotファイルをpngファイルとして描画してみます。これでできるみたい。 dot -Tpng chainer/exampl

    chainerのネットワーク構造可視化 - PlayGround
  • chainerのVGG16 pretrainモデルを早速使ってみた - Seitaro Shinagawaの雑記帳

    最近めっきり記事を書いてないので、今後はメモくらいのつもりでもいいから小出しに書いていこうと思う。 chainerがv1.22.0でVGG16LayersとResNet50Layersをchainer.linksでサポートした。 Standard Link implementations — Chainer 1.22.0 documentation これによってcaffeの学習済みモデルがより気軽にchainerで試せるようになったようだ。 ちょうど学習済みモデルを手っ取り早く使いたいなと思ったところでタイミングが良かったので早速試してみた。 今回はVGG16Layersのみについて書いていこうと思う。 基的な使い方 基的な使い方はchainerのリファレンスをみるのが手っ取り早い。 Standard Link implementations — Chainer 1.22.0 docu

    chainerのVGG16 pretrainモデルを早速使ってみた - Seitaro Shinagawaの雑記帳
  • ファッションアイテムの画像からの特徴抽出とマルチスケールなCNNの効果 - ZOZO TECH BLOG

    同僚に3ヶ月のディープラーニング禁止令を言い渡したデータサイエンティストの中村です。 VASILYではスナップ画像に写っているモデルさんが着ている服と似ている服を検索する画像検索エンジンを開発しています。 ファッションアイテムを探す際、デザイン(アイテムの色や模様)はとても重要なファクターになります。 ファッションアイテムの画像検索システムも当然、色や模様のような局所的な特徴を捉えた検索を提供する必要があります。ところが判別タスクにおける歴代チャンピオンモデルと同様のCNNを使って特徴抽出を行うと、局所的な特徴が失われて似ていないアイテムがヒットしてしまうという問題がありました。 そこで、局所的な特徴の保存と表現能力の向上を期待して、モデルに浅いネットワークを追加してマルチスケールに拡張しました。 今回はこの取り組みについて紹介したいと思います。 スナップ画像から商品画像を検索する スナッ

    ファッションアイテムの画像からの特徴抽出とマルチスケールなCNNの効果 - ZOZO TECH BLOG
  • 【深層学習】畳み込みニューラルネットで画像分類 [DW 4日目] - Qiita

    ざっくりいうと Chainerで畳み込みニューラルネット(CNN)を書いた AlexNetというILSVRC2012のトップのCNNを模倣した 実際に画像分類をしてみた AlexNetとは ↓の論文で提案されているニューラルネット。ILSVRC2012で性能トップ。その後、AlexNetを深化させた、オックスフォード大のVGGというネットワークが登場し性能向上。(2016年現在、さらに性能を上回るGoogLeNetとかもある。人間より精度が良いらしい。) ImageNet Classification with Deep Convolutional Neural Networks(原文) ↓Chainerのサンプルもある。 Chainer Example AlexNet 今回は、このAlexNetの劣化版のネットワークを書いて実際に画像分類をさせてみた。劣化の理由は、単にメモリ不足を解消す

    【深層学習】畳み込みニューラルネットで画像分類 [DW 4日目] - Qiita
  • Deep Learning覚え書き(Batch Normalization) - 八谷大岳の覚え書きブログ

    Deep Learningの各階層の入力データの分布は、学習の過程において、下位層のパラメータが更新されることにより変化する。各階層の勾配は、ミニバッチ内で平均をとることにより推定しているが、この分布の変化により推定に、ミニバッチごとに異なるバイアスが乗りやすくなる。そのため、学習が不安定になるという問題がある。この問題は、internal convariance shiftと呼ばれている。この問題を解決するために、下記の論文では各階層の入力分布をミニバッチごとに平均=0と分散=1とに正規化するbatch normalizationという方法が提案されている。 http://arxiv.org/pdf/1502.03167v3.pdf 今回は、chainerにてBatch normalizationを、各CNNに2つの方法で適用してみた。 1)下記のようにconvと非線形な活性化関数ReL

    Deep Learning覚え書き(Batch Normalization) - 八谷大岳の覚え書きブログ
  • Chainerで楕円軌道を学習する - Qiita

    chainerを用いて、Feedforward Neural Networkにより楕円軌道を学習します。 テストはオープンループで行います。 chainerの使い方の解説をしながらこの問題を解いていきます。 問題とアプローチ [問題] x=0.8cos(θ),y=0.8sin(θ)の楕円軌道を学習する。 [アプローチ] x(θn)=(0.8cos(θn),0.8sin(θn)), (0<=θn<=2π) についてx(θn)からx(θn+1)を予測するFNNを設計します。 そして、このFNNを用いて訓練データを用いて学習し、テストデータを用いて結果をテストして確かめます。 データの作成と変数設定 訓練データとテストデータ 楕円上の任意の点を指定します。 [訓練データ] xtrain(θn)=(0.8cos(θn),0.8sin(θn)), θn=2πn/20(0<=n<=20,nは自然数)

    Chainerで楕円軌道を学習する - Qiita
  • AWSのGPUインスタンスでChainerMNを動かす環境構築 - Qiita

    ChainerMNを試してみようと思い、AWS上に環境構築をしてみたので、その作業記録を残しておきます。 AWSのp2インスタンスはそれなりの値段がするので、環境構築は素早く終わらせたいですよね。 構成 AWS p2.8xlarge Ubuntu Server 16.04 LTS (HVM), SSD Volume Type - ami-efd0428f CUDA 8.0 cuDNN v5.1 Python 3.5.2 Chainer 1.24.0 ChainerMN 1.0.0b1, (b2でも確認) 参考サイト Ubuntu 16.04へのCUDAインストール方法 Chainer 1.5のインストールがうまくいかない人への非公式なTips Chainer Documents ChainerMN Documents NCCL 作業 前準備 $ sudo apt-get update $

    AWSのGPUインスタンスでChainerMNを動かす環境構築 - Qiita
  • まっさらな状態からUbuntu14.04LTSでChainerのFaster-RCNNを使って物体検出 - 可変ブログ

    Faster-RCNNを実装したのでそのメモを残します。 なるべく初めてでもできるように、まっさらな状態から環境構築して実装までやっていきます。が、この分野の知識が全くない状態から始めているので、間違いがあるかもしれません。気をつけてね。 ちなみにCaffeじゃなくてChainerを選んだ理由は導入が簡単だったからです。最初Caffeでもやろうとしたけど挫折しました。Caffeはまた時間があるときに再挑戦してみます。 とりあえず投稿したけど、書きかけでまだわかりづらいところもあると思うので、時間があるときに加筆修正したいと思います。長いから記事を分けるかも。 環境 【ハードウェア環境】 Quadro6000 【実装したソフト環境】 Ubuntu14.04LTS Anaconda3-4.1.1(Python) CUDA8.0 cuDNN5.1 OpenCV3.1 Chainer(バージョン不

    まっさらな状態からUbuntu14.04LTSでChainerのFaster-RCNNを使って物体検出 - 可変ブログ
  • GitHub - peisuke/WebReporter: Chainer extension of training curves visualizer

  • Chainerの学習の様子をリモートで確認するExtensionを作った - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私はGWでリフレッシュして、生き返りました。 Kaggleをやっているとき(特に画像などの長い場合)にリモートで 今学習されているかどうか、誤差はどうかなどのモデルの 様子が気になることはありませんか? 私は画像認識系のコンペを実際に行っている時に、気になることがあります。 これどうしようかと考えていたのですが、歩いている時にふと思いついたので実装しました。 このアイデアの実装のために、新しいChainerのExtensionを開発しました。(Trainerを使う想定です) アイデア Slackであれば外出中も見れると考えました。 そのため、学習の途中経過(lossなど)を投稿すれば見れる! 実装イメージは次の図に掲載しました。 コードを見た限りだと、Extensionで実装できそうだったので、トライしました。 Extensionの実装方法 Extensio

    Chainerの学習の様子をリモートで確認するExtensionを作った - のんびりしているエンジニアの日記
  • Chainer:GPUを使うプログラムはどう書くか | Webシステム開発/教育ソリューションのタイムインターメディア

    ChainerでGPUを使ってみようで、MNISTのデータセットを使ったディープラーニングのサンプルプログラムである train_mnist.py のコマンドで、-gpu 0 でGPUが使えることを示した。 つまり、操作説明をしたに過ぎなかったが、今回は、プログラムレベルでどう対応しているか見てみよう。 プログラムは,https://github.com/pfnet/chainer/tree/master/examples/mnist である。 parser.add_argument('--gpu', '-g', type=int, default=-1, help='GPU ID (negative value indicates CPU)') ここで、 -gpu の処理が行われ、args.gpu に整数値が入る。 デフォルト値は -1 で、GPUを使用しないことを示す。 if args

    Chainer:GPUを使うプログラムはどう書くか | Webシステム開発/教育ソリューションのタイムインターメディア
  • MNIST DatasetをChainerで,GPUを利用して学習するまで - automatik

    もう少ししたら発表があることに気づいて必死でモデルを組み始めた。 ちょっとChainerを思い出しながら書いて,GPUも手に入って環境も整ったこともあり,一回MNISTを分類してみようかと。 いろんなブログやらqiitaを参考にしながらもう一度書いてみた。 CPUモードからGPUモードに変更するときは # GPUの設定 cuda.get_device(0).use() model.to_gpu() # modelの設定後(この場合インスタンス化のあと)に行うこと。 これと xp = cuda.cupy これでnumpyの配列をすべてxpで変えていく。 注意として,numpyにはあったメソッドがxpでなかったりするので,そこらへんはちょろちょろ自分で書いたりしなきゃいけないかも. 今回少しだけはまった点としては def forward(self, x_data, y_data, train=

    MNIST DatasetをChainerで,GPUを利用して学習するまで - automatik
  • ChainerのコードをGPU対応にする - Qiita

    この記事はACCESS Advent Calendar 2016 23日目の記事です。 ですが、ACCESSとの関係は特になく、私の趣味の範囲の話です :) Chainerで、コードをざっと書いた後、GPU対応にしたい、ということは良くありますよね(多分) そこで、GPU対応していないコードをGPU対応する方法を説明します。 知識がほぼ無い状況から書き始めたので、わたしの作業メモになっていますが、何か参考までに。 とりあえず cuda.cupy 元のコードが以下のようにあるとします。(このサンプルコードは、はじめての深層学習プログラミング からの引用です。とても分かりやすいなのでオススメです!) import numpy as np import chainer.functions as F import chainer.links as L from chainer import Va

    ChainerのコードをGPU対応にする - Qiita
  • CPUに最適化した計算ライブラリ - Qiita

    ChainerのCPU最適化版のIntel Chainerが先月公開されたようなのでGithubを眺めていたところ、Intelから科学計算用に様々なIntel製品に最適化されたライブラリが出ていることに気づき調査してみました。はじめにIntel Chainerの紹介を一応しますが、そのあと全く触れませんのでご了承くださいw Intel Chainerとは PFNが開発したChainerをIntelが主に自社のプロダクトに最適化した(GPUはサポートされています)深層学習フレームワーク。公式のGithubページを見るとMKL-DNNというライブラリを使ってXeonやXeon Phiプロセッサでの演算に最適化している模様。 MKL-DNN 解説ページやGithubページを見ると、IntelのXeonやXeon Phiに特化した深層学習用のライブラリのよう。72コアとかを上手に使いきるように書く

    CPUに最適化した計算ライブラリ - Qiita
  • Loading...

    Loading...
  • DeepLearning研究 2016年のまとめ - Qiita

    DeepLearning Advent Calendar 2016の17日目の記事です。 はじめに はじめまして。 Liaroという会社でエンジニアをしている@eve_ykと申します。 今年もあと僅かとなりました。 ここらで、今年のDeepLearningの主要な成果を振り返ってみましょう。 この記事は、2016年に発表されたDeepLearning関係の研究を広く浅くまとめたものです。今年のDeepLearningの研究の進歩を俯瞰するのに役立てば幸いです。 それぞれの内容について、その要点や感想なんかを簡単にまとめられたらと思います。 特に重要だと思った研究には★マークをつけておきます。 非常に長くなってしまったため、興味のある分野だけ読んでいただければと思います。 言い訳とお願い 見つけたものはコードへのリンクも示すので、プログラミングに関係ある記事ということで… 分野的にかなり偏っ

    DeepLearning研究 2016年のまとめ - Qiita
  • DiscoGANを使って「教師なし」でお米を数えてみる - Qiita

    はじめに こちらで紹介されていたDiscoGAN(Discover Cross-Domain Relations with Generative Adversarial Networks) https://arxiv.org/abs/1703.05192 が「教師なし」でイメージ変換ができるということで、前にやってた検出・カウントを教師なしで試してみました。 ChainerでDiscoGANをすでに実装している方がいらっしゃったので、ほぼ使わさせていただきました。 「chainerのtrainer機能を使ってDiscoGANを実装した」 やっていること お米の数を数えるために、数えやすい形の画像に変換する「コンバータA⇒B」をつくります。 (これくらいの画像ならば、通常の画像処理を組み合わせれば簡単にカウントできますが、それは置いといて) いままでと違うポイントは「ランダムに配置」した球の

    DiscoGANを使って「教師なし」でお米を数えてみる - Qiita