タグ

ブックマーク / memo.sugyan.com (21)

  • StyleGAN2で属性を指定して顔画像を生成する - すぎゃーんメモ

    memo.sugyan.com の記事の続き(?)。 ある程度の学習データを収集して学習させたモデルが出来たので、それを使って実際に色々やってみる。 StyleGAN2-ADA 学習 mapping出力と生成画像 生成画像の属性推定結果から潜在空間の偏りを抽出 表情推定 顔姿勢推定 髪領域推定 (顔解析) 年齢 (上手くいかず) 複合 Repository StyleGAN2-ADA 前回の記事でも書いたけど、厳選した16,000枚の画像を使って StyleGAN2-ADA を使って生成モデルを学習させてみた。 github.com これは StyleGAN2 から進化したもので、より少ない枚数からでも安定して学習が成功するようになっていて、さらにparameter数など調整されて学習や推論もより早くなっている、とのこと。 それまでのStyleGANシリーズはTensorFlowで実装され

    StyleGAN2で属性を指定して顔画像を生成する - すぎゃーんメモ
    invent
    invent 2021/04/02
  • 顔画像生成のためのデータセットを作る - すぎゃーんメモ

    動機 TensorFlowの登場をきっかけに 機械学習によるアイドル顔識別 という取り組みをしていて、3年以上かけてコツコツとアイドルの自撮りを収集してラベルをつけてデータセットを作ってきたけど、 アイドルヲタクはもう辞めてしまって 現場にも全然行かなくなり、卒業・脱退の情報を追いながらラベルを更新していく作業を続ける情熱はすっかり薄れてしまった。 もうアイドル顔識別プロジェクトは終了にしよう、と思った。 しかし折角今まで集めたデータを捨ててしまうのは勿体無い。せめて最後に何か活用できないものか。 と考えて、「画像生成」に再び取り組んでみることにした。 過去に試したことはあったけど、それほど上手くはいっていない。 TensorFlowによるDCGANでアイドルの顔画像生成 TensorFlowによるDCGANでアイドルの顔画像生成 その後の実験など この記事を書いたのが2016年。 この後

    顔画像生成のためのデータセットを作る - すぎゃーんメモ
    invent
    invent 2020/01/22
  • TensorFlowで顔検出器を自作する - すぎゃーんメモ

    19日に行われた Kyoto.なんか #3 で発表・デモをさせていただいた内容まとめです。 はじめに: 検出器の重要性 アイドル顔識別 をずっとやっている中で、顔の識別・分類(Classification)はCNNを使って出来ているけれど まだ上手く出来ていない別のタスクがあって。 それが画像内からの顔領域の検出 (Detection, Localization)。 「画像内に写っている人物が誰であるか」を識別するためには、まずはその画像に写っている「顔」を検出する必要がある。 その検出された顔それぞれについて分類器にかけて「この顔は○○さん」「この顔は××さん」と分類していくことになるわけで。 分類器に与える入力画像を切り抜いて抽出するのにもまず顔領域を検出する必要があるし、その分類器を学習させるためのデータセットも、様々な画像から顔領域を検出して切り抜いてそれぞれに対してラベル付けする

    TensorFlowで顔検出器を自作する - すぎゃーんメモ
    invent
    invent 2017/08/20
  • EC2 Spot Instanceの価格変動をターミナルでモニタリングする - すぎゃーんメモ

    というものを作った。こんな感じの。 Repository : https://github.com/sugyan/spot-price-watcher 背景 TensorFlowを使ったDeep Learningでアイドルの顔識別なんかをずっとやってきたけど、やっぱりCPUマシンだけでやっていくのは厳しいな、と思い、 やっぱりPC自作は費用対効果を考えると無いなーってことで結局EC2のGPUインスタンスでTensorFlow動かせる環境を頑張って整えた。スポットインスタンスだけ使って節約してるつもりだけど、当に10倍くらい早くなってサイコーに快適すぎてうっかりジャブジャブ課金してしまいそう…— すぎゃーん💯 (@sugyan) June 16, 2016 ということでAmazon EC2にてGPU instanceを使って動かすことにした。 g2.2xlargeインスタンスでTenso

    EC2 Spot Instanceの価格変動をターミナルでモニタリングする - すぎゃーんメモ
    invent
    invent 2016/06/25
  • TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ

    以前は MNISTの例を使って画像識別を試してみた けど、次はカラー画像についての識別を試してみる。 「アイドルなんてみんな同じ顔に見える」って 最近も言われてるのかどうか知らないけど、自分もつい5年前くらいまではそう思っていたわけで。その識別を機械学習でやってみよう という試み。 最近はほとんどライブに行かなくなってしまったけど大好きなももいろクローバーZちゃんを題材にしてみることに。 5人のメンバーの顔は機械学習によってどれくらい分類できるようになるのか?? CIFAR-10 CIFAR-10 という、32×32サイズのカラー画像を10種類のクラスに分類する識別課題があり、そのデータセットが公開されている。これを実際にTensorFlowで学習するための畳み込みニューラルネットワークのモデルや関数などがtensorflow.models.image.cifar10パッケージに同梱されて

    TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ
  • percolを使ってターミナル操作を早く、便利に。 - すぎゃーんメモ

    先日、shell勉強会で「zawを使ってシェル操作を快適に」というお話を聴いて、自分ももう少しそのあたりの環境を整えよう、と思い立った。 nanapi勉強会 vol2 - Shellの活用でこれだけ毎日が便利になる - nanapi勉強会 | Doorkeeper zawで快適シェル生活 // Speaker Deck 自分が使う選択をしたのは zaw ではなく percol 。 軽く調べてみたかんじでは zawってのは設定してある(もしくは自作する)決められたsourceを使って決められた操作を行うもので、zshに密接に結び付いているツールで。percolはそういうのではなく純粋に「入力をフィルタリングする」だけのツールなので、パイプなどを使って各コマンドと組み合わせることで色々な使い方ができそう。 percolの導入 https://github.com/mooz/percol Pyt

    percolを使ってターミナル操作を早く、便利に。 - すぎゃーんメモ
    invent
    invent 2014/06/12
  • rbenvの切り替えの仕組み…と、他言語での実験 - すぎゃーんメモ

    rbenvを使ってみる - すぎゃーんメモの続き。 現時点でのrbenvのバージョンは0.2.1。 rbenvを使っていると.rbenv-versionファイルの有無でrubyコマンド打ったときに実行されるrubyが違うものになる、というのがちょっと新鮮で、これはどういう仕組みで動いているのだろう?と思って少し調べてみた。 上記記事のようにrbenvの設定をした環境では、 $ which ruby /Users/sugyan/.rbenv/shims/rubyとなり、${RBENV_ROOT}/shims以下のrubyを指すことになる。ここへのPATHは$HOME/.rbenv/libexec/rbenv-initに echo 'export PATH="'${RBENV_ROOT}'/shims:${PATH}"' と書かれているので、eval "$(rbenv init -)"してあれ

    rbenvの切り替えの仕組み…と、他言語での実験 - すぎゃーんメモ
    invent
    invent 2013/07/23
    rbenvの切り替えの仕組み…と、他言語での実験 - すぎゃーんメモ
  • #perlcasual で再びライブコーディングさせていただいた - すぎゃーんメモ

    PerlCasual #05 : ATNDにて、@yusukebeさんに声をかけていただき、再びライブコーディングをさせていただいた。 前回やらせていただいたのは2年半以上前なのか… 第6回 yokohama.pmPerl Casual でライブコーディングに挑戦してみた - すぎゃーんメモ 前回はちょっとしたスクリプト的なものだったけど、今回はWebアプリっぽいのはどうか、ということでAmon2を使ってWebアプリを作成する、というお題にしてみた。 まっさらな状態から始めて OAuth2ログインを使って 掲示板的なアプリを Herokuにデプロイして動くものをリリースする という目標でやってみた。 掲示板的なのは実はAmon2のtutorialにあるやつですね。 Tutorial - Create BBS site — Amon2 documentation 結局できたのは htt

    #perlcasual で再びライブコーディングさせていただいた - すぎゃーんメモ
    invent
    invent 2013/03/30
    #perlcasual で再びライブコーディングさせていただいた - すぎゃーんメモ
  • リモートマシンからGrowl通知をできるようにしようとして挫折した話 - すぎゃーんメモ

    Growl大好きなので色んなところから通知出来るようにしたい、と常々思っておりまして。 ふと、「sshで入って作業しているリモートマシンで時間かかるコマンド実行したときに終了通知をGrowlで受けたいじゃん?」と。 ちょろっと調べてみると以下のエントリが。 離れたところからGrowlで通知 - UDPのパケットをSSHでポートフォワードする方法 - (ひ)メモ SSHでリモートのコンソールに接続しているとき、コマンドの終了をGrowlで通知したい - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥ 前者はGrowlのNetwork通知を使うもの。UDP 9887番ポートで受け取って通知させることができるので、sshポートフォワードとUDP-TCP変換を使ってリモートのUDPをローカルのUDPに持ってくる。後者はsshポートフォワードを利用してHTTP経由でロ

    invent
    invent 2013/01/16
    リモートマシンからGrowl通知をできるようにしようとして挫折した話 - すぎゃーんメモ
  • MySQLのコマンドたち - すぎゃーんメモ

    http://mysql-casual.org/2011/11/mysql-casual-advent-calendar-2011.html の6日目の記事として書かせていただきます、sugyanです。 勢いで参加表明してしまい、今日慌てて久しぶりにMySQLを触りました。 MySQLでFizzBuzz ストアドプロシージャって使ったこと無かったので初めて触ってみました。 DROP PROCEDURE IF EXISTS FizzBuzz; delimiter // CREATE PROCEDURE FizzBuzz(n INT) BEGIN DECLARE i INT DEFAULT 1; WHILE i <= n DO SELECT CASE WHEN i % 3 = 0 AND i % 5 = 0 THEN 'FizzBuzz' WHEN i % 5 = 0 THEN 'Buzz'

    MySQLのコマンドたち - すぎゃーんメモ
    invent
    invent 2012/11/14
    MySQLのコマンドたち - すぎゃーんメモ
  • hostsに".local"で終わるドメインを書いて使うと面倒なことになる - すぎゃーんメモ

    Webアプリを開発する際に、ローカル環境で動かしたいのだけど特定のドメイン名で閲覧したくて、/etc/hostsに 127.0.0.1 hoge.fuga.piyo.localみたいに書いて、[]http://hoge.fuga.piyo.local:5000/[]とかでローカル稼働しているアプリを見られるようにしてみたところ、どうもレスポンスが遅い。アプリ自体がどんなに軽くても、ブラウザ見てもcurlで叩いても返ってくるのが遅い。 どうやらアプリ自体じゃなくて、アドレスの解決に時間がかかっているらしい。 Mac OS X v10.4, 10.5, 10.6: How to look up ".local" hostnames via both Bonjour and standard DNS - Apple Support https://discussions.apple.com/th

    hostsに".local"で終わるドメインを書いて使うと面倒なことになる - すぎゃーんメモ
    invent
    invent 2012/10/09
    hostsに”.local”で終わるドメインを書いて使うと面倒なことになる
  • ももクロファンが思い出を語って共有できるWebサービスを作ってる話 - すぎゃーんメモ

    僕がももいろクローバーZと出会ってから、もうじき1年になる。 ももいろクローバーZにハマっている件について - すぎゃーんメモ この1年の間でも多くのライブやイベントがあり沢山の思い出が生まれ、そして多くのモノノフ(ももクロファンの通称)仲間が出来た。 それぞれのモノノフたちにはそれぞれの「ももクロとの出会い」や「ライブでの思い出」などの歴史があって、物語がある。 それらを聞くだけでも面白いのだけど、なかなかインターネット上のコンテンツとしては残りにくく、Twitterなどでは時間とともにそれらも流れていってしまう。 ので、そういったそれぞれの思い出の物語を蓄積して共有できるようにするためのWebサービスを今、作っている。 ももクロのこれまでの歩みをタイムライン(年表)で表示 関わった日時(ライブ/イベント)を指定して各ユーザが思い出を投稿 それらを一覧表示する といったことが出来れば良い

    ももクロファンが思い出を語って共有できるWebサービスを作ってる話 - すぎゃーんメモ
    invent
    invent 2012/05/16
    ももクロファンが思い出を語って共有できるWebサービスを作ってる話 - すぎゃーんメモ
  • JavaScriptで、もう連想配列の最後のカンマに悩んでないので - すぎゃーんメモ

    JavaScriptで、もう連想配列の最後のカンマに悩まない!(※追記あり) · DQNEO起業日記 で言及いただいていたので今の自分の意見を。 その発想は無かったし、無いですね。 2012-05-02 09:55:29 via Twitter for iPhone です。 要素数が変わる、無駄なkeyが入る Node.jsなんかではECMA Script 5のObject.keys()が使えるので var len = Object.keys(obj).length; とか Object.keys(obj).forEach(function (e) { console.log(e) }); とかでオブジェクトのキーを走査したり、ということを普通にやります。そんなときに"dummy"なんてキーが入ってたら邪魔でしょうがないです。 メモリ領域の無駄、はたいして気にならないでしょうけど、とにかく

    invent
    invent 2012/05/03
    JavaScriptで、もう連想配列の最後のカンマに悩んでないので - すぎゃーんメモ
  • DayOne.appを使いこなすために作ったもの、やっていること - すぎゃーんメモ

    ゆーすけべー日記の記事あたりから周りでDayOneを使うヒトが増えて、自分も気になって使ってみた。 Day One | A simple and elegant journal for iPhone, iPad, and Mac. 基的には「独りTwitter」なので、適当に短文を放りこんで蓄積していくもの。自分が感じた特徴としては、 イケてる点 自分用なのでヒトに見られたくないものまで気軽に何でも書ける Dropboxでデータ同期できる イケてない点 「書き込もう」という気になることはそうそうない 記録として蓄積していても見返すことは殆どない ということで「もっと簡単に記録を残せる環境、定期的にある程度読み返す仕組み」を作ればもっと活用することが出来るのでは、と思い色々と整えてみた。 作ったもの DayOne.app、自分のTweetやcommit logなんかも記録して、定期的に過去

    invent
    invent 2012/04/19
    DayOne.appを使いこなすために作ったもの、やっていること - すぎゃーんメモ
  • hostごとにstatus lineの色を変える - すぎゃーんメモ

    (※その後: -> hostごとにstatus lineの色を変える・改 - すぎゃーんメモ) ローカルと、sshログインしているサーバとそれぞれiTerm上の別タブで開いてそれぞれtmux起動してるわけだけど どのタブなのかすぐに判別できない status lineの色を分けたりすれば良いのかな 2012-03-02 15:38:16 via Twitter for Mac もちろんtmuxはデフォルトでstatus lineの右側にhostnameを出力してくれているのだけど、わざわざそれを読むのすらめんどくさい。色が分かれていればhostnameを読むまでもなく視界に入っているだけで判別できるはずだ。 ということで140文字hack。 tmux set-option status-bg $(perl -MList::Util=sum -e'print+(red,green,blue,

    invent
    invent 2012/03/03
    hostごとにstatus lineの色を変える - すぎゃーんメモ
  • IRCの通知をirssiプラグインでGrowlかim.kayac.comに送る - すぎゃーんメモ

    自分はIRCクライアントとしてirssiを使っていて、これをさくらVPSで動かしてるサーバ上でTerminal multiprexer(screenとかtmuxとか)を使って繋ぎっぱなしにしておいて、この上でIRCを使うようにしている。 Irssi で、このirssiはPerlスクリプトでプラグインが書けるので特定キーワードが流れたらim.kayac.comで自分に通知するように"hilight2im"を使ってきてた。 irssi-plugins/hilight2im.pl at master · typester/irssi-plugins · GitHub irssiをインストールしてからやったことのまとめ - Webtech Walker ところで先日記事に書いた通りGrowl 1.3を使うとGNTPで通知を行えるのでSSHのRemoteForwardを使うことでサーバ側から自分のロ

    IRCの通知をirssiプラグインでGrowlかim.kayac.comに送る - すぎゃーんメモ
    invent
    invent 2012/02/28
    IRCの通知をirssiプラグインでGrowlかhttp://t.co/AuS7odJSに送る - すぎゃーんメモ
  • Yokohama.pm #8 に参加してきた - すぎゃーんメモ

    Yokohama.pm #8 を開催します - Yokohama Perl Mongers Yokohama.pm #8 に参加してきました。 YAPC::Asiaのときに何も話せることがなくモニョモニョしていたので、せめてココで何か…ということで昨年のadvent calendarで書いたネタをまとめてLTで喋ってみることにしました。 スライド資料: http://sugyan.com/presentations/yokohama-pm-8/ # PhantomJS で HTML のスライドを PDF にし SlideShare にあげる方法 - Block Rockin’ Codesを初めて実践してみてslideshareに上げてみました Yokohama.pm #8 LT View more presentations from Yoshihiro Sugi ほぼ以下の記事に書いた内

    Yokohama.pm #8 に参加してきた - すぎゃーんメモ
    invent
    invent 2011/11/25
  • Heroku+Node.js+Redis+MongoDB使って簡単リアルタイムアクセスカウンター作ってみた - すぎゃーんメモ

    いろいろ作ってみる練習として。 http://realtime-counter.herokuapp.com/ https://github.com/sugyan/node-realtime-counter <script type="text/javascript" src="http://realtime-counter.herokuapp.com/counter.js"></script> <script type="text/javascript"> new RealtimeCounter('4e78b7cb3bab067f7e6a1514').onIncrement(function (count) { ... }); </script> と、JavaScript読み込んで指定したIDを使ってJSを数行書いておくと、どこかで同じIDのものが読み込まれたタイミングで数字を更新できる、

    Heroku+Node.js+Redis+MongoDB使って簡単リアルタイムアクセスカウンター作ってみた - すぎゃーんメモ
    invent
    invent 2011/11/09
  • Socket.IOがどれくらいリアルタイムなのかちょっと計ってみた - すぎゃーんメモ

    node.js+Socket.IOでリアルタイムアプリケーションが作れるわけだけど、WebSocket使うにしてもXHR-Polling使うにしてもサーバ経由して通信していれば当然タイムラグはあるわけで、それってどれくらい遅延するものなんだろう? と思っていろんなサーバで試してみた(追記しました)。 測定方法 var server = require('http').createServer(function (req, res) { require('data-section').get('html', function (err, data) { res.writeHead(200, { 'Content-Type': 'text/html' }); res.end(data); }); }); var io = require('socket.io').listen(server);

    invent
    invent 2011/09/03
    Socket.IOがどれくらいリアルタイムなのかちょっと計ってみた - すぎゃーんメモ
  • 今すぐフォローすべきPerl界のスーパーエンジニア - すぎゃーんメモ

    今すぐフォローすべきnode.js界のスーパーエンジニア - 大人になったら肺呼吸の記事に便乗しまして。 独断と偏見に基づいて、自分がフォローしているPerl界隈の人から数人をピックアップして並べてみます。 @dankogaiさん blog: 404 Blog Not Found Perlへの言及はそれほど多くないけど 要所要所で鋭いツッコミが @hidekさん blog: hide-k.net#blog 同じ会社の人たちとの絡みが面白い。深夜のDJも注目 @Yappoさん blog: YappoLogs 基的にネタ発言が多いけど面白いので大好きです @acotieさん blog: iDeaList::Writing Perl界の女性エンジニアでは最も有名? @kamipoさん blog: かみぽわーる MySQLとかインフラな話とか。空mentionすると瞬時に返してくれるbot @w

    今すぐフォローすべきPerl界のスーパーエンジニア - すぎゃーんメモ
    invent
    invent 2011/06/16
    今すぐフォローすべきPerl界のスーパーエンジニア - すぎゃーんメモ