読者です 読者をやめる 読者になる 読者になる

Monthly Hacker's Blog

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

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

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

できること

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

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

PaintsChainerを数学知識ゼロでも分かるように解説してみた

  • PaintsChainerの仕組み
  • PaintsChainerの隠し機能
  • もっと詳しく知りたい人へ

今、chainerという自動着色アプリが流行っているようです。どういう仕組みで着色しているか気になった人も多いのではないでしょうか。そしてちょこっと調べてみると「最新の人工知能によって実現」みたいなお茶を濁す答えしか見つからずモヤモヤしていたはずです。そこでこの記事では、数式を一切使わずにPaintsChainerの仕組みを解説します。また、PaintsChainerについて調べるうちに見つけたPaintsChainerの隠し機能の紹介もします。

続きを読む

multiprocessingのあれこれ

はじめに

こんにちは。さかぱ(@zacapa_23)です。

12月になると修論でとても忙しい。しかも2ヶ月前の自分が「12月でも余裕あるでしょ」と思っていたせいでAdvent Calenderに参加してしまいました...。本記事は18日目の記事です。
qiita.com

せっかくの機会なので、pythonで機械学習やデータ分析などをするときに便利な並列処理(multiprocessing)について知識をおすそわけできればいいなと思います。

まえおき

pythonのmultiprocessingについてググると、だいたいPoolかProcessの記事がほとんど。本記事は主にPoolに関する知識です(というかPoolしか使ったことがない...)。

と言っても、調べれば出てくるような数値計算の並列方法(よくあるのは二乗和)ではなく、実践的なテーマを用意しました。

実行環境

  • Ubuntu 14.04.5 LTS
  • Intel(R) Xeon(R) CPU E5-1620 v3 @ 3.50GHz (8スレッド)
  • Python 3.5.2 :: Anaconda custom (64-bit)
  • Jupyter 4.2.0
続きを読む

PokemonGAN

はじめに

こんにちは。修論で忙しいM2のさかぱ(@zacapa_23)です。今日はChainer Advent Calendar 2016 - Qiitaの17日目の記事としてGANをやります。

GANといえば去年のAdvent CalenderにDCGANを使ったイラスト生成の記事がありましたね。当時の僕はとても関心して、あのあともGAN系の手法を読んでいました。
qiita.com
qiita.com

ということで、今年は研究室の同期が実装したEBGANを使って新種のポケモンを探す冒険に出発しましょう。

f:id:ron_zacapa:20161211195758p:plain

続きを読む

chainerでEBGAN(Energy-Based Generative Adversarial Network)を実装した

chainer
  • できること
  • 経緯
  • updaterを書き換える
  • chainerでのコサイン類似度の計算
  • make_extensionでextensionを追加する
  • 結果
  • パラメータや構造について
    • 出力層の活性化関数
    • バッチ正規化( BatchNormalization )
  • 今後

できること

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

  • updaterを書き換える
  • make_extensionでextensionを追加する
  • chainerのtrainerを使ってMNISTでGANおよびEBGAN(pull-away termあり)
続きを読む