ほろ酔い開発日誌

AI企業のエンジニアのブログです。機械学習、Web開発の技術的お話、ビジネスチックなお話、日常のお役立ち情報など雑多な内容でお送りします。

Docker環境で姿勢推定をOpenPoseで実行する

f:id:seishin55:20190306165205j:plain

はじめに

姿勢推定のOpenPoseの実行を行ったのでその方法をまとめておきます。GPU環境があれば、Dockerを使うことで簡単に使うことができました。

github.com

公式の環境構築手順に沿うのはなかなか大変なので、Dockerで環境を用意して使いたいと思います。

続きを読む

独自ドメイン+HTTPSなポートフォリオサイトを簡単に作成し、無料で運用する方法

f:id:seishin55:20190216173409j:plain

はじめに

ポートフォリオを手軽にそして安く作りたかったのですが、それを実現させた方法をまとめます。「手軽に」という点ではBootstrapテンプレートを利用することで実現します。「安く」という点ではGithub Pagesを利用します。無料というのは独自ドメインの取得料金は入っていないのでご注意ください(独自ドメインなしでよければこれもかかりません)。他はサーバー代もかかりません。さらに、Github PagesはHTTPS化もサポートしており、これも無料です。

今回私が作ったポートフォリオサイトを掲載しておきます。Bootstrapテンプレートベースで少々いじりましたが2時間程度でできました。このようなサイトが無料で運用できます。

Shizuma Kubo - Web engineering and Machine Learning

目次

  1. Bootstrapテンプレートを利用する
  2. github.ioのURLを使って静的サイトを公開する
  3. ポートフォリオを充実させる
  4. 独自ドメインを設定する
  5. HTTPSに対応させる
続きを読む

エンジニアの記事のアウトプット先はどこがいい?(Qiita/note/blog)

はじめに

普段から記事を書くことは多いのですが、アウトプット先を複数抱えており、投稿先を自分の中で整理したいと思いました。結論として少し冬眠していたこのblogをアクティブにしようとする宣言の意味も大きいのですが、それと同時にアウトプット先について考えたこともまとめておこうというのがこの記事の趣旨です。

エンジニアが記事を書くことについて

最近では、エンジニアは積極的にアウトプットしたほうがいいという論調の文章を見かける機会も増えたような気もしますし、Youtuberをはじめとしたインフルエンサーの波をエンジニアも受けたのか、文章としてのアウトプットにとどまらず、動画の配信やインフルエンサー化する方もいらっしゃいます。私自身、3、4年くらい各所で記事を公開していまして、QiitaのContributionも現段階で7000を超えています。それによって、恩恵を受けるところもあり、アウトプットをすることはよいという立場にいます。最近はnoteでも記事を書いてみて、思うところもあり、blogに戻ってきたというところです。

続きを読む

Rails5.0.0.1からRails5.1.5へのアップデート

はじめに

Railsのプロジェクトのアップデートをしたのでそのときのメモをしておきます。 利用しているGem等に大きくよると思いますが、アップデートの際の参考にはなるかもしれません。

環境: MacOS Sierra

Rubyのアップデート

Rubyのバージョンも2.4.1から2.5.0へバージョンアップしました。 rbenvを使っています。

続きを読む

GoodfellowさんのGANのオススメ論文10選まとめ (2018/02)

GANの作者のGoodfellowさんがおすすめの10論文を教えていたので、みてみます。

()内はGoodfellowさんのコメント。基本的には最新の論文をすすめるということでICLR2018のオーラル論文等最新のが多め。

1. Progressive GANs

[1710.10196] Progressive Growing of GANs for Improved Quality, Stability, and Variation

(probably the highest quality images so far)

ICLR2018のオーラルに採択された論文。 高解像度の画像の生成において、段々と出力画像のサイズを大きくしていく方法を使っている。1つのGeneratorの中でlayerを少しずつ追加して学習を重ねていく。

イントロ含めてGANの流れもすごく置いやすくて読み物としてもいいので、参考論文追うと良さそう。

なんか低解像度から高解像度みたいなことをするといい結果が得られるよっていうのが結構あったりとかするけど、それをlayerひとつひとつ追加して行うという方法でまあ確かにそこまでやれば精度上がりそうという印象は受けた。

2. Spectral normalization

Spectral Normalization for Generative Adversarial Networks | OpenReview

(got GANs working on lots of classes, which has been hard)

こちらもICLR2018のオーラル論文より。Lipschitzs制約を使ってGANの学習を安定化させる。GANの学習の安定は重要な点のひとつなので大事かと。個人的にはLipschizs制約まわりはちゃんと勉強しなきゃな、、と思う次第です。

参考

Spectral Normalization for Generative Adversarial Networks · Issue #388 · arXivTimes/arXivTimes · GitHub

続きを読む

Google Formで回答を受けたらSlackに通知する (Google Apps Script)

やったこと

タイトル通り、Google Formで回答を受け付けたらそれをSlackに通知します。 大体の手順は以下のような感じ。

  1. Google FormでFormの用意。また、回答をSpreadSheetに出すようにしておく。
  2. Slackのincoming webhookの用意をする。
  3. Google Apps Scriptを書く。

これだけ。以下の記事を見つけたのでこの記事に沿ってやりました。基本はこれを見て下さい。スクリプトの箇所はちょっと変えたので記録しておきます。あとその他説明。

続きを読む