Monthly Hacker's Blog

毎月のテーマに沿ったプログラミング記事を中心に書きます。

NNablaのImage Augmentationを試してみた

  • NNablaのimage augmentationの特徴
  • augmentation一覧
    • Random Crop
    • Random Flip
    • Random Shift
    • Image Augmentation
  • 最後に

NNablaがリリースされて1ヶ月以上経ちました。研究室の先輩が開発のコアメンバーということもあり、リリース直後から注目していたのですが、しばらくpython2系のみ対応ということで手を出せずにいました。

先日、件の先輩に「3系に対応したのでぜひ使ってくれ、image augmentationがイチオシだ」と教えていただいたので、早速試してみました。

github.com

続きを読む

chainerのtrainer機能を使ってDiscoGANを実装した

  • できること
  • はじめに
  • DiscoGANとは
  • CelebAデータセットのダウンロード
  • updaterの書き換え
  • extensionの追加
  • 前処理の追加
  • 結果

できること

この記事では、次のことができるようになります。

  • CelebAデータセットをダウンロードする
  • updaterを書き換える
  • make_extensionでextensionを追加する
  • 画像の前処理を追加する
  • chainerのtrainerを使ってCelebAでDiscoGAN
続きを読む

【保存版】chainerのconvolutionとdeconvolution周りを理解する


chainerのdeconvolutionがどういう演算をしているのか理解していなかったので、ソースコードとにらめっこしました。ちなみに、以下の可視化は非常に参考になりました。

github.com

この記事では次の関数について解説します。

  • ダウンサンプリング系
    • F.convolution_2d(L.Convolution2D)
    • F.max_pooling_2d(F.average_pooling_2d)
  • アップサンプリング系
    • F.deconvolution_2d(L.Deconvolution2D)
    • F.unpooling_2d
    • F.upsampling_2d
    • F.depth2space
続きを読む

chainerのtrainer機能を使ってWGAN(Wasserstein GAN)を実装した

  • できること
  • 経緯
  • コードを書き換えるときの注意点
  • WGANについて

できること

この記事では、次のことができるようになります。

  • updaterを書き換える
  • make_extensionでextensionを追加する
  • chainerのtrainerを使ってMNISTでWGAN
続きを読む

修論(卒論)の進捗を確認するslackbot「進捗どうですかbot」を作った

  • できること
  • 経緯
  • システムの全体像
  • pdfのページ数を取得する
  • slackbotを作る
  • botを定期的に実行する

できること

この記事では、次のことができるようになります。

  • pdfのページを取得
  • slack APIを使った投稿
  • botの定期的な実行
続きを読む