タグ

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

  • creative codingに入門してみている - すぎゃーんメモ

    子ゃーんに喜んでもらいたくて、creative coding入門してp5.jsで色々作る練習してる。今はフワフワでキラキラな可愛いシャボン玉を表現しようと試行錯誤しています pic.twitter.com/qGeRYCelqh— すぎゃーん💯 (@sugyan) October 6, 2021 動機・目的 上記の通り、「子に喜んでもらえるものを作る」ことを目指す。 特にshort codingなどにチャレンジしたりはせず、またgenerative artのようなものよりはどちらかというと"触って遊べる"インタラクティヴなものを優先的に。 1歳半の我が子は最近はiPadの操作も慣れてきていて、幼児向けアプリなどで画面を指で触って楽しむことは出来るようになっている。複雑な操作はまだ難しいが 直感的に動かせるようなものなら楽しんでくれるのでは(という勝手な期待)。 …とはいえ 単純に自分が面白

    creative codingに入門してみている - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2021/10/13
    良い
  • N番目の素数を求める - すぎゃーんメモ

    SNSなどで話題になっていたので調べてみたら勉強になったのでメモ。 環境 Pythonでの実装例 例1 例2 例3 エラトステネスの篩 Rustでの実装例 試し割り法 エラトステネスの篩 アトキンの篩 おまけ: GMP Benchmark 高速化のテクニック 上限個数を見積もる Wheel factorization オチ Repository References 環境 手元のMacBook Pro 13-inchの開発機で実験した。 2.8 GHz Intel Core i7 16 GB 2133 MHz LPDDR3 Pythonでの実装例 例1 最も単純に「2以上p未満のすべての数で割ってみて余りが0にならなかったら素数」とする、brute force 的なアプローチ。 import cProfile import io import pstats import sys def m

    N番目の素数を求める - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2021/02/06
  • TensorFlow 2.0 時代の Keras API での画像分類器 - すぎゃーんメモ

    TensorFlowを初期の頃から触っていて define-and-run の流儀にはそれなりに慣れてしまっていたけど、そろそろTensorFlowも2.0がreleaseされそうだし(2019.09時点で 2.0rc1) 新しいinterfaceも触っておかないと、と思って勉強してみた。 Effective TensorFlow 2.0 を読むと、major changesとして "Eager execution"、recommendationsとして"Keras layers and models"が紹介されている。 これからの時代はKeras APIを使ってEager executionでやっていく必要がありそうだ。 お題: 将棋駒画像の分類 昨年くらいから将棋の画像認識をやろうと思って 駒の画像データセットを作成 していた。今回はこれを使う。 各駒14種の先手・後手で28種、空白マ

    TensorFlow 2.0 時代の Keras API での画像分類器 - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2019/09/17
  • ISUCON9 予選敗退した - すぎゃーんメモ

    ISUCON9。今年は縁あって声かけていただき id:Soudai さんと id:kamipo さんと、「失敗から学ぶISUCONの正しい歩き方」というチームで出場した。 練習会 インターネット上でよく知っている人たちとはいえ 実際に一緒に仕事をしたことも無ければチームを組んで一緒に何かをしたことがあるわけでもない。 予選の2週間前に一度集まって、1日かけて前年の予選問題を再現しつつ試し解きしてみる、という会をした。 言語は3人で共通した得意なものがあるわけではなかったので とりあえずRubyで、ということにした。 そのときの感覚では「やっぱり色んなところで躓くこともあるかもしれないけど 正しく計測して早めに大きな方針を決めて改善をしていけばそれなりの成績には辿り着けるだろう」という感じ。 DB関連はとにかく2人が強いので、自分はアプリケーションコードを如何に正確に早く書いていけるかが勝負

    ISUCON9 予選敗退した - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2019/09/09
  • TensorFlow.jsがChromeでWebWorker上でもWebGL backendで動く - すぎゃーんメモ

    tensorflow.js は処理の重さ的に worker で動かしたいのだがまだ WebWorker で動かすと cpu backend に fallback してしまうので、この issue ずっとみてる https://t.co/KYGEQSFwq5— 無糖派層 (@mizchi) July 30, 2019 僕も以前にWebWorker上でTensorFlow.jsを使おうとして WebGL backendで動かないことに気付いて諦めていたのだった。 memo.sugyan.com …と思っていたのだけど、どうも先月くらいの @tensorflow/tfjs@1.2.2 あたりから ChromeではOffscreenCanvasというのを使ってWebWorker上でもWebGL backendで動くようになったようだ。 試してみたところでは 動くのはChromeのみで、Safari

    TensorFlow.jsがChromeでWebWorker上でもWebGL backendで動く - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2019/08/01
    これは嬉しい
  • 電子工作 2作目・Mint60 - すぎゃーんメモ

    HelixPicoに続いて、自作キーボード 2作目。 memo.sugyan.com 今回作ったのは、ゆかり(id:eucalyn)さんの「Mint60」。 この記事はMint60を使って書いています。 eucalyn.hatenadiary.jp 少しお値段はするけど、必要なものが全部揃ってるスターターキットを購入。 (Silent Red - Hawaii - マットクリア) eucalyn.booth.pm 紹介記事に書かれている通り、初心者でも組み立てやすい設計で かつ 丁寧な解説記事があるので 当にこれに書いてある通りにはんだ付けして組み立てるだけで良い。 非常に分かりやすくて有り難かったです。 eucalyn.hatenadiary.jp 組み立て 簡単といっても HelixPicoよりはちょっと難しかった…かな? HelixPicoが簡単すぎたのはあるかもしれないけど。 キ

    電子工作 2作目・Mint60 - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2018/11/05
    よさそう
  • TensorFlowで顔検出器を自作する - すぎゃーんメモ

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

    TensorFlowで顔検出器を自作する - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2017/08/22
  • TensorFlowによるDCGANでアイドルの顔画像生成 その後の実験など - すぎゃーんメモ

    memo.sugyan.com の続編。 あれから色々な変更しつつ実験してみたりしたのでその記録。 結論を先に書くと、これくらい改善した。 DCGAN ざっくりおさらい Generator: 乱数の入力から画像を生成する Discriminator: 入力した画像がGeneratorが生成したものか学習データのものかを判別する という2種類のネットワークを用意し、お互いを騙す・見破るように学習を行うことで Generatorが学習データそっくりの画像を生成できるようになる、というもの 学習用画像の増加 前回の記事では90人の顔画像データから生成していたけど、あれから収集を続けて もう少し多く集まったので、今回は260人から集めた顔画像100点ずつ、計26,000件を学習に使用した。 Feature matching openai.com の記事で紹介されている "Improved Tech

    TensorFlowによるDCGANでアイドルの顔画像生成 その後の実験など - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2016/10/13
  • TensorFlowで顔識別モデルに最適化した入力画像を生成する - すぎゃーんメモ

    動機 elix-tech.github.io の記事を読んで、「可視化」の項が面白いなーと思って。 引用されている図によると、人間の目にはまったく出力クラスとは関係なさそうに見える画像でもCNNによる分類器は騙されてしまう、ということのようだ。 なるほど分類モデルの方を固定しておいて入力を変数として最適化していけば任意の出力に最適な入力を得ることができるのか、と。 自分でもやってみることにした。 分類モデル TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験 - すぎゃーんメモ の記事で使ったモデルとデータセットで、ここではCross Validation用にデータを分けずに7,200件すべてを学習に使い20,000 step進めたものを用意した。 このモデルは学習したアイドルたちの顔画像に対してはかなりハッキリと分類できるようになっていて、試しに

    TensorFlowで顔識別モデルに最適化した入力画像を生成する - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2016/07/10
    興味深い
  • TensorFlowによるDCGANでアイドルの顔画像生成 - すぎゃーんメモ

    アイドル顔識別のためのデータ収集 をコツコツ続けて それなりに集まってきたし、これを使って別のことも…ということでDCGANを使ったDeep Learningによるアイドルの顔画像の「生成」をやってみた。 まだだいぶ歪んでいたりで あまりキレイじゃないけど…。顔画像を多く収集できているアイドル90人の顔画像からそれぞれ120件を抽出した合計10800件をもとに学習させて生成させたもの。 分類タスクとは逆方向の変換、複数のモデル定義などがあってなかなか理解が難しい部分もあったけど、作ってみるとそこまで難しくはなく、出来上がっていく過程を見るのが楽しいし とても面白い。 DCGANとは "Deep Convolutional Generative Adversarial Networks"、略してDCGAN。こちらの論文で有名になった、のかな? [1511.06434] Unsupervise

    TensorFlowによるDCGANでアイドルの顔画像生成 - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2016/05/16
  • TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ

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

    TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2016/01/12
  • Perl6で記号Hello worldする - すぎゃーんメモ

    一番簡単なHello worldです。 ::('!{.(?'~^'.~!)~'~^')^.^^'~^'?!^?('~^'??)!{')('!?}}~~(!^~{~))(.{~('~^'))?^?.).(?.}?)().!~'~^'~!.?}?~.^.{?!)~}!).'~^'}!!.~(}(!?}~{!}).(('~^')^(^.(.)~?!.()!})?)')普通に実行できると思います。 $ cat hello.pl6 ::('!{.(?'~^'.~!)~'~^')^.^^'~^'?!^?('~^'??)!{')('!?}}~~(!^~{~))(.{~('~^'))?^?.).(?.}?)().!~'~^'~!.?}?~.^.{?!)~}!).'~^'}!!.~(}(!?}~{!}).(('~^')^(^.(.)~?!.()!})?)') $ perl6 hello.pl6 Hello,

    Perl6で記号Hello worldする - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2015/10/24
    はい
  • 「Webエンジニアが知っておきたいインフラの基本」を読んだ - すぎゃーんメモ

    @netmarkjpさんの、通称「子鹿」。 Webエンジニアが知っておきたいインフラの基 ~インフラの設計から構成、監視、チューニングまで~ 作者: 馬場俊彰出版社/メーカー: マイナビ発売日: 2014/12/27メディア: 単行(ソフトカバー)この商品を含むブログ (5件) を見るISUCONの縁などもあり献でいただきまして、読ませていただきました。ありがとうございます! #1 Webサービスにおけるインフラの役割 #2 インフラ技術の基礎知識 #3 Webサービスのサーバ構成ベストプラクティス #4 インフラ手配の基礎知識 #5 Webサービスの運用(1) システム監視の基 #6 Webサービスの運用(2) ステータスモニタリング #7 Webサービスのチューニング(1) ボトルネックの見つけ方 #8 Webサービスのチューニング(2) チューニングレシピ という構成。 #

    「Webエンジニアが知っておきたいインフラの基本」を読んだ - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2015/01/15
  • ターミナル操作の記録(ttyrec)からGIFアニメを生成するツールを作った - すぎゃーんメモ

    ttyrec で録画したデータを使ってターミナル上で再生しつつ、そのスクリーンキャプチャを使ってアニメーションGIFを生成するツールをGoで作ってみた。 https://github.com/sugyan/ttygif Releases Mac, Linux Desktopで動作。再生速度はオプションで変更可能。 背景 percolを使ってターミナル操作を早く、便利に。 - すぎゃーんメモ のような記事を書いたりする際に、ターミナル操作を録画してGIFアニメにしたい需要があり。 そういった用途に使える汎用のデスクトップ録画ツールとしてはLICEcapやGifzoなどがある。 Cockos Incorporated | LICEcap http://gifzo.net/ これらはWindows, OSXあたりが対象で、Linuxの場合はまた他のツールがあるらしい(よく知らない)。 汎用的なキ

    ターミナル操作の記録(ttyrec)からGIFアニメを生成するツールを作った - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2014/08/12
    便利?
  • Google Doodleのルービックキューブを解くChrome拡張を作った - すぎゃーんメモ

    http://www.google.com/doodles/rubiks-cube のやつ。 とっくに旬を過ぎていて今さら感あるけど、、 URL 開いてスタートした瞬間に自動で解いてくれるChrome Extension 誰か 2014-05-19 16:02:43 via Twitter for Mac って自分で言ったし。 Google Doodle's Rubik's Cube Solver - Chrome Web Store source: https://github.com/sugyan/google-doodle-rubik-cube-solver この拡張を入れた状態で https://www.google.com/logos/2014/rubiks/rubiks.html を開いてキューブをクリックしてスタートすると左上に"solve"ボタンが現れ、それを押すと勝手に完

    Google Doodleのルービックキューブを解くChrome拡張を作った - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2014/06/03
    かっこいい
  • #isucon 2013で優勝しました - すぎゃーんメモ

    第三回 ISUCONの選に、参加しました。予選から引き続き、@kazeburoさん、@tagomorisさんとの「LINE選抜チーム」。 #isucon 2013予選に参加した - すぎゃーんメモ 第三回 #isucon 選リアルタイムフォトレポート【更新終了】 : ISUCON公式Blog 結果はなんと、優勝!! おや、優勝2回目だ。→第1回のとき タイムライン 予選のとき同様に、自分の手元にある記録と記憶を辿ってどんな雰囲気だったか書き残してみます。間違っていたらゴメンナサイ。 使用言語はPerlです。 〜10:00 出社…じゃなくて会場入り。ちゃんと前日に早寝したので寝坊せずに済みました。 〜11:00 開会待ち。早くきすぎた、でも他の参加者さんたちも早くからしっかり集まってる。 ルール説明。ストーリー仕立てで緊張感が走る。画像系サービスか〜。 11:00〜 開始。用意されたのは

    #isucon 2013で優勝しました - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2013/11/11
    おめでとうございました
  • Slateを入れてみた - すぎゃーんメモ

    Macで起動中のアプリを切り替えるのに、⌘+Tabだけだとたくさん起動しているときに選択するために連打するのが面倒だし頻繁に使うものは一発で切り替わるようにしたい、というのがあって、 今までずっとそれをQuicksilverのHotKey機能を利用して ⌘+Ctrl+Q でiTerm2 ⌘+Ctrl+W でEmacs ⌘+Ctrl+E でChrome みたいに左手の操作だけで切り替えられるようにしていた。 ところで最近「Slateというのが面白い」という話を某所で聞いたので試しに入れてみた。 GitHub - jigish/slate: A window management application (replacement for Divvy/SizeUp/ShiftIt) DivvyやSizeUpといったウィンドウ操作系ツールとして使えるもののようだけど(両方つかったことないから知らな

    Slateを入れてみた - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2013/03/02
    うおお、これまで設定ファイルhackしてleopardのSpaces復活させてたけど必要なくなりそうなどころかもっと便利になりそう。
  • expressでapp全体の設定値をroutesで使う(module間で変数を受け渡す)方法いろいろ - すぎゃーんメモ

    Expressでテンプレートからプロジェクトを作ると、現在の最新版2.5.4では . ├── app.js ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets │ └── style.css ├── routes │ └── index.js └── views ├── index.jade └── layout.jade 6 directories, 6 filesのようにファイルとディレクトリが作られる。app.jsが体で、 var express = require('express') , routes = require('./routes') var app = module.exports = express.createServer(); ... app.get('/',

    expressでapp全体の設定値をroutesで使う(module間で変数を受け渡す)方法いろいろ - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2013/01/29
  • Perlしか分からなくてもNode.jsでHTTPサーバが書ける! - すぎゃーんメモ

    なんてこった…CPANモジュールをnode.jsで動かしてしまうライブラリ「node-perl」 - tokuhirom's blog GitHub - tokuhirom/node-perl: Node perl wrapper というすごいモジュールが出ているので、npmでコレをインストールします。 「Perl使いだからPlack/PSGIしか分からない ><」という場合でも、 #!/usr/bin/env node var perl = new require('perl').Perl(); perl.use('Plack::Runner'); var runner = perl.getClass('Plack::Runner').new(); runner.parse_options('-e', 'sub { return [200, ["Content-Type" => "tex

    Perlしか分からなくてもNode.jsでHTTPサーバが書ける! - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2012/08/30
    すごい!
  • フォント設定にface-font-rescale-alistを使う - すぎゃーんメモ

    @yoozoosatoさんのブログで、Emacsのフォントサイズを簡単に変える方法があることを知った。 Emacs のテキストサイズを簡単に変更できるようにした - さとうようぞうのblog どうやらM-x text-scale-adjustを使ってもサイズの変更できるようで、C-x C-+もしくはC-x C-=で拡大、C-x C--で縮小、C-x C-0でリセット、ということができるらしい。 自分のフォント設定はBitstream Vera Sans Monoとヒラギノ丸ゴを使って以下のように設定していた。 (create-fontset-from-ascii-font "-apple-Bitstream_Vera_Sans_Mono-medium-normal-normal-*-14-*-*-*-m-0-iso10646-1" nil "BitstreamMarugo") (set-f

    フォント設定にface-font-rescale-alistを使う - すぎゃーんメモ
    UDONCHAN
    UDONCHAN 2012/08/28
    参考になる