タグ

Chainerに関するohnabeのブックマーク (81)

  • 2016年の深層学習を用いた画像認識モデル - Qiita

    実装 検証が終わっていないモデルの使用は気をつけてください cifar10の数値感覚 現時点で97%以上ではSoTAになると思います。僕が知っている限り、最高精度は96.69%です。そろそろcifar100か別のデータセットを評価の軸にするべきかもしれません。 最近の傾向 今年はResnetファミリーの年だったと思います。特徴的な点として、深さ=精度が終わった点です。googlenetなどは昔から主張していましたが、ある程度深いと、深さよりも幅を広くしたほうが精度が上がるということが、様々な論文の結果で今年は示されました。3月くらいから、Resnetの幅を広くしたほうが良いという結果は副次的にぞろぞろ出ていて、5月23日に出たWide Residual Netowrksで決定的になったような形だと思います。幅が大事といったことが、今年はっきりした点であるように思います。 論文を俯瞰してみる

    2016年の深層学習を用いた画像認識モデル - Qiita
  • docker (nvidia-docker) を使ってマルチノードで ChainerMN を実行する方法(仮) - Qiita

    docker (nvidia-docker) を使ってマルチノードで ChainerMN を実行する方法(仮) 編集履歴: (2017/12/14) nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04 を使う場合 nccl-repo-ubuntu1604-2.0.5-ga-cuda9.0_3-1_amd64.deb をダウンロードして配置しなくても apt-get install libnccl2 libnccl-dev できたので変更 シングルノード シングルノードなら特に難しい所はない。docker コンテナ内に OpenMPI や ChainerMN をインストールして、nvidia-docker run で mpiexec すれば良い。 Dockerfile FROM nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04 R

    docker (nvidia-docker) を使ってマルチノードで ChainerMN を実行する方法(仮) - Qiita
  • ChainerのDefine by Runとは? - HELLO CYBERNETICS

    Define by Run Define by Run Define and Run 具体例を見る 上記のコードのネットワークにおける動作 Define by Run 今回は、Chainerの特徴の1つであるDefine by Runについて、どんなものであるかを理解できるようにします。 Define by Run Define by Runでは、計算グラフ(ニューラルネットの構造)の構築をデータを流しながら行います。 Define and Run Define and Runでは、計算グラフを構築してから、そこにデータを流していきます。 これだけで違いが理解できるでしょうか? おそらく難しいかと思います。 上記の2つの違いを認識するのが目標です。 具体例を見る やはり、具体例を見たほうがつかみやすいかと思います。 Chainerの以下のコードを見てください。 どのようなネットワーク構造が

    ChainerのDefine by Runとは? - HELLO CYBERNETICS
  • [WIP] 1-file Chainerを作る - Qiita

    概要 この記事では、Neural NetworkフレームワークであるChainerの最も特徴的なコンセプトである"Define-by-Run"を理解するために、手書き数字の分類を行うためのネットワークの記述・学習に必要な最低限の機能だけを持ったライブラリ"1f-chainer"をNumPyのみを使って実装してみます。数式が登場するような説明は全てAppendixに追いやり、文中ではできるだけコードと文章だけで説明を行うように気をつけて書きました。 記事で用いた全てのコードは以下に置いてあります:1f-chainer。書き始めると色々なことを追記したくなり間に合わなかったので、今週いっぱいを目処に順次更新していきます。 また、この記事の全ての内容は私個人の見解と理解に基づくものであり、所属する組織とは関係ありません。 想定読者 この記事は、Backpropagationを使ったNeura

    [WIP] 1-file Chainerを作る - Qiita
  • Chainer の Trainer 解説と NStepLSTM について

    レトリバセミナー 2017/03/15 Movie: https://www.youtube.com/watch?v=ok_bvPKAEaMRead less

    Chainer の Trainer 解説と NStepLSTM について
  • Chainerでマルチタスクニューラルネットワークを実装した - 人間だったら考えて

    注:この記事の実装は非効率的かもしれません. この記事は何? マルチタスク学習をニューラルネットワークに適用した研究がいくつか報告されています. 適用例として,Georgeら(2014)の研究では,タンパク質に対する化合物の活性予測にニューラルネットワークを用いたマルチタスク学習を適用しています. また,Xiaodongら(2015)の研究では,自然言語処理のタスクとしてクエリ分類と情報検索の2つのタスクを同時に解くマルチタスク学習を提案しています. 私はDNNを実装する時はChainerを使っているのですが,Chainerでマルチタスク学習を実装した例が見当たらなかったため自分で実装してみました. ネットワーク構造 解くタスクは2つとします.2つのタスクに対応するネットワークが存在し,それぞれのネットワーク間で一部の層を共有するようなネットワーク構造を考えます(下図参照). 学習の進め方

    Chainerでマルチタスクニューラルネットワークを実装した - 人間だったら考えて
  • ChainerのChainをもっと楽に書く

    概要 Chainerのモデル定義クラスを新たに作った はじめに ChainerのChainをもう少し楽に書くの続きです。 昔書いたAdversarial AutoEncoderのコードを書きなおしていたんですが、モデル定義の部分を簡潔に書くのが難しかったので新たにモデル定義クラスを作りました。 musyoku/chainer-nn chainer.Chainのモデル定義はもともと以下のように書きます。 class Model(chainer.Chain): def __init__(self, n_in, n_hidden, n_out): super(Model, self).__init__() with self.init_scope(): self.layer1 = L.Linear(n_in, n_hidden) self.layer2 = L.Linear(n_hidden,

  • https://www.mathgram.xyz/entry/chainer/fcn

    https://www.mathgram.xyz/entry/chainer/fcn
  • 「Chainer による実践深層学習」の気づいたこといくつか - 木曜不足

    Chainer v2による実践深層学習 作者: 新納浩幸出版社/メーカー: オーム社発売日: 2017/09/15メディア: 単行この商品を含むブログ (2件) を見る Chainer について書かれた数少ない。 この9月に v2 対応版が出た。が、v3 リリース秒読みの時期に……というツラミはある*1。 深層学習ライブラリは現状「泳ぎ続けなければ死ぬ」(アップデート止まったら、終わったのかな? とか思っちゃう)ので、宿命的にしょうがないのかな。 社内でこの読書会とかしており、ちょいちょい間違いを見つけてしまう。 細かいのはもういいかなとは思うんだが(全部書いてたら正直キリがない)、せっかくの Chainer 、読者が誤解すると事故が起きそうなちょっと大きめの間違いを放置するのはもったいないので、ここにメモしておく。 自分で読んだのは RNN 以降なので、主にその範囲。 以下、章

  • ChainerでSOMを実装してみた - ytbilly3636’s 研究備忘録

    こんにちは. 今回はタイトルの通り,自己組織化マップ(The Self-Organizing Maps,SOM)をChainerを使って実装してみました. SOMとは サラッと説明します.詳しくはコホネン先生の論文を読むか,検索してみてください. SOMはニューラルネットの一種で,高次元データの集合の関係を低次元マップに写像する役割を持ちます. ネットワークの構造は入力層と競合層の二層から成っています. ネットワークに入力されるのが高次元データ(高次元である必要はありません)で, 競合層が低次元マップ(多くの場合が二次元のグリッドです)になっています. 学習は教師なし競合学習という方法で行われます. まず,ネットワークにベクトルを入力し,入力層・競合層間の結合重みのうち最も入力に類似するものを探索します. (この結合重みに接続されている競合層のニューロンを勝者ニューロンと呼びます) 勝者ニ

  • chainerでU-Net : あかすくぱるふぇ

  • ChainerとRNNと機械翻訳 - Qiita

    自然言語処理とニューラルネット ここ数年で、自然言語処理の分野でもニューラルネットが非常に頻繁に使われるようになってきました。 自然言語処理で主に解析対象となるのは単語の配列や構文木などで、これらの内包する情報を表現するためにrecurrent neural network1やrecursive neural network1などに基づくモデルが頻繁に使われます。これらの最大の特徴はニューラルネットがある種のデータ構造を持っているという点で、1レイヤあたりのノードはそれほど多くない代わりにネットワークの接続が複雑で、しかも入力されるデータごとにネットワークそのものの形状が変化するという特徴があります。このため、伝統的なfeedforward neural networkを前提としたツールキットでは構築が難しいという問題がありました。 Chainerは、そのような問題を概ね解決してしまう強力

    ChainerとRNNと機械翻訳 - Qiita
  • TensorFlowで訓練したパラメータをChainerのモデルにrestoreする - ぼくのぬまち 出張版

    何がどうなってか深層学習〜的なものに触れる機会が増えたので,何かそれっぽい話を 「他のフレームワークに比べてなんだか学習済み(pre-trained)モデルが公開されてないような?」 Chainerを使ってみた深層学習マンはきっとこのお気持ちになったことがあるんじゃないだろうか.ユーザ数の差だろうか?数は力だよ兄貴!Caffeのモデルファイル(.caffemodel)であれば,ものによってはchainer.links.caffe.CaffeFunctionでロードできるので一応使えはする.global pooling 等で非対応がありロードできないこともあるが,できない部分は飛ばしてロードしてスキマを自分で書いて〜とかできなくはないので,スンナリとロードはできなくともガンバリでロードはできる気がする. 一方,なんだかんだTensorFlowのpre-trainedモデルがckptファイルで

    TensorFlowで訓練したパラメータをChainerのモデルにrestoreする - ぼくのぬまち 出張版
  • ChainerでYOLO - Qiita

    はじめに YOLOとはYou Only Look Onceの略とのことですがまあ当て字ですかね。速度に特化した画像検出・認識用ニューラルネットワークで、Cベースのdarknetというフレームワーク上に構築されています。元論文はこちらです。特徴は、全画像からいきなりクラス確率と物体のバウンディングボックス座標を推論する点です。R-CNNなどと違って複数の候補領域に対して何度も推論しないでよいので、Look Onceだから速い、というわけですね。 TensorFlowに変換した例はすでにあるようなので、今回はchainer化をしてみます。Cで組まれているものをわざわざスクリプト言語に変換するのは中身を理解するためです。今回の記事では学習済の係数を使った推論のみを行いますが、論文を読んだ感じだと学習手順が最大の特徴の一つに思われるので、そのうちトレースしたいです。 コードはこちらを参照してくださ

    ChainerでYOLO - Qiita
  • ペンパイナッポーとアッポーペンを識別する(ChainerでYOLO ver2) - Qiita

    記事はChainer Advent Calendar 2016の20日目のエントリです。 ペンパイナッポー(以下PP)とアッポーペン(以下AP)の画像識別方式の確立は急務です。下記は"PPAP"のここ三ヶ月のGoogle Trend推移ですが、すごい速度で減衰しています。正直もう遅いのかもしれませんが、であったとしても次のビッグウェーブに一目散に乗れるように反射神経を鍛えておく必要があります。 PPとAPをひと目で見分ける認識器の必要性についてご理解いただいたところで、昨今のディープラーニングによる物体認識の進展に目を向けますと、Deep Learningによる一般物体検出アルゴリズムの紹介という記事にまとまっているように、優れた手法が次々と提案されています。最後のコメントにあるように、最大の課題は学習用のデータセットをどう準備するかというところです。 残念なことに、PPAPデータセット

    ペンパイナッポーとアッポーペンを識別する(ChainerでYOLO ver2) - Qiita
  • Chainerでcaffemodelを読み込んで画像を分類する - Qiita

    Chainerでcaffemodelを読み込んで画像を分類します。 Chainerのサンプルにも画像分類はあるのですが、認識率が出力されるだけでどの画像がどのカテゴリに分類されたかがわかりません。 分類結果としてカテゴリ名とスコアを出力できるようにします。 こちらにソースコードがあります。(この記事のコードをクラス化したものです) 記事を読むのが面倒という方はcloneしてください caffemodelをダウンロードする 今回はmodelとしてbvlc_googlenetを使います。 1000カテゴリの分類が可能です。 bvlc_googlenet のページにcaffemodelファイルへのリンクがあるので、そこからダウンロードしてください。 ラベルファイルを生成する 分類結果のカテゴリ番号とカテゴリ名を紐付られるようにラベルファイルを生成します。 以下にimagenet関連ファイルをダウ

    Chainerでcaffemodelを読み込んで画像を分類する - Qiita
  • chainerのsoftmax_cross_entropy()について

    pythonとも機械学習とも勉強不足でわからない点があったため、chainerの交差エントロピー誤差を計算するsoftmax_cross_entropy() について質問させてください。 MNISTを識別するサンプルコード https://github.com/pfnet/chainer/blob/master/examples/mnist/train_mnist.py を動かしてみました。 疑問に思った点は以下です。 49行目のreturn F.softmax_cross_entropy(y, t), F.accuracy(y, t) で、多クラス識別をする際の交差エントロピー誤差は、出力層のユニット数分(ラベルに対応するユニットだけでなくほかのユニットの確率も余事象として)計算しなければならないのに、教師データtを1ofK表記にせず、そのまま渡している点。 交差エントロピーは与えられた

    chainerのsoftmax_cross_entropy()について
  • ChainerでMTGのカードを分類する(識別フェーズ) - catalinaの備忘録

    黄金週間なので趣味プログラミングに没頭です。かたりぃなです。 MTGのカードの種類を識別するPythonモジュールを作っていきたいと思います。 今回でPython側でchainerを使う部分はひとまず完成です。 環境 ソフトウェア Windows10 Pro VisualStudio 2015 community(C++用) VisualStudio Code(Python用) Python 3.5 Chainer 1.20.0.1 ハードウェア CPU=intel-Corei7-6700 3.4G RAM=16GByte GPU=NVIDIA GeForce GTX1070 ストレージ=SSD 525G Chainerで学習させる 前回Chainerをいじったとき、識別率が60%くらいで頭打ちになってしまいました。 http://catalina1344.hatenablog.jp/en

    ChainerでMTGのカードを分類する(識別フェーズ) - catalinaの備忘録
  • 出力ノード数を手計算せずにConvolutionの出力をLinearに入力する(chainer 1.15) - Qiita

    chainerのConvolution2DやLinearは、入力チャンネル数in_channelsやノード数in_sizeにNoneを指定すると、最初のデータをforwardした時に自動で合わせてくれる機能があります。ドキュメントの引数の説明で言及されていますが、意外と気づきにくいです(chainer version 1.15.0.1)。 in_size (int) – Dimension of input vectors. If None, parameter initialization will be deferred until the first forward data pass at which time the size will be determined. とりあえず試します。 import chainer import numpy class LinearLinear

    出力ノード数を手計算せずにConvolutionの出力をLinearに入力する(chainer 1.15) - Qiita
  • CUDAなしMacで、Chainer使ってCaffeモデルをインポートして画像認識させてみる

    CUDAなしMacで、Chainer使ってCaffeモデルをインポートして画像認識させてみる