ラテアートを始めました

先日家庭用エスプレッソマシンを買いました。エスプレッソを入れつつラテアートの練習をしています。 進捗 主に「ハート」と「チューリップ」を練習しています。一貫して同じような形のアートが描けるようになりたいです。 エスプレッソマシン スイスの「ソ…

Tune-A-Videoで動画をいらすとや風に変換させてみた話

↓こんなサーフィンの動画を Tune-A-Videoでいらすとや風にすることができました。 また、「サーフィンする宇宙飛行士」のようなプロンプト(テキスト)を与えることで、動画の一部を変化させることもできました。 Tune-A-Videoとは Tune-A-Videoとは機械学習…

Stable Diffusionを使って「いらすとや風画像生成モデル」を作った話

今話題の画像生成モデル「Stable Diffusion」をいらすとやの画像でfinetuneしてみたところ、任意のテキストに対していらすとやっぽい画像を作れるモデルが出来上がりました。 Stable Diffusionとは Stable Diffusionは、指定されたテキスト(文字列)に対応…

PythonでクラスC内の型ヒントにC自身を指定するとNameErrorが発生する問題の対処法

問題 以下のようにあるクラスCのメソッドfの型ヒントにC自身を使いたいとします。 class C: def f(self) -> C: # causes NameError! return C() このコードをそのまま実行すると以下のようにNameErrorが発生します。 $ python foo.py Traceback (most recent…

「FIRE 最強の早期リタイア術 最速でお金から自由になれる究極メソッド」を読んだ

FIRE 最強の早期リタイア術――最速でお金から自由になれる究極メソッド作者:クリスティー・シェン,ブライス・リャン発売日: 2020/03/19メディア: Kindle版FIREとはFinancial Independence, Retire Earlyの略で、簡単に言うと十分な不労所得を確保することで経…

最近の自分のC++スタイル

何だかんだでC++を書き続けています。今やC++20です。C++0xで騒いでいた頃が懐かしいです。 今回は最近自分がC++を書く時に気にしていることについて簡単に紹介していこうと思います。 基本方針 同じコードを触る開発者が多いため、実装者にとっての利便性よ…

pytype:型ヒントなしでも使えるPython用静的型検証ツール

github.com PytypeはGoogle製のPython用静的型検証ツールです。型ヒントなしのコードでも型推論を行って検証し、潜在的なバグを指摘してくれます。 インストール pip install pytype 使用例 例えば以下のようなfoo.pyというファイルがあったとします。 def i…

「a=10とb=5の平均は7.5です」をmain関数なしで表示する

発端 どなたかc言語プログラミングが得意な方、いらっしゃいましたら教えていただきたいです。簡単な問いでお恥ずかしいのですが、画像の問いの答えを教えていただきたいです。int型どうしの演算で少数の出し方が分からないです。#c言語 #プログラミング #プ…

「仕事ではじめる機械学習」は仕事における機械学習プロジェクトの進め方を教えてくれる良書

仕事ではじめる機械学習作者: 有賀康顕,中山心太,西林孝出版社/メーカー: オライリージャパン発売日: 2018/01/16メディア: 単行本(ソフトカバー)この商品を含むブログ (5件) を見る 良書だと思います。 どのような本? 「機械学習本」というと、機械学習の…

バイオリン図で数値データの分布を可視化する

今更ながらデータの分布を比較する図法「バイオリン図(violin plot)」の存在を知りました。 バイオリン図とは ↑のような図です。数値データの分布の可視化や比較に使います。データ分布の描画にはカーネル密度推定が用いられています。 Matplotlibではviol…

go-twitterへのpull requestがmergeされた

Go用Twitterクライアントライブラリ「go-twitter」に送っていた私のpull requestがmergeされました。 github.com 直したバグは自分がこの記事で指摘しているbufio.Scannerの仕様に起因するバグで、うちのbot並にfollowingsが多いアカウント(7,000くらい)だ…

TensorFlowのtf.contrib.layers.batch_normの注意点

TensorFlowのtf.contrib.layers.batch_normは他のtf.contrib.layersの関数(conv2d、fully_connectedなど)にnormalizer_fnパラメーターで渡すことができ、Batch Normalizationを含めひとつの関数呼び出しにまとめることができるのでコードがスッキリして便…

Deep Learningで「いらすとや風人間画像生成モデル」を作った話(DCGAN、Wasserstein GAN)

フリー素材サイト「いらすとや」に出てくる人間風の画像を自動生成するモデルをDeep Learningで作りました。実装にはGoogle製のライブラリ「TensorFlow」と機械学習アルゴリズムの「DCGAN」「Wasserstein GAN」を用いています。 以下は生成された人間画像の…

うちのbotが「いらすとや風の人間画像」を製造できるようになった

mickey24_botが機械学習を使って「いらすとや風の人間画像(?)」を無料で製造できるようになりました。 人間製造した pic.twitter.com/dezDC1y2yy— mickey24_bot (@mickey24_bot) 2017年6月28日 まだ以下のようにぐちゃぐちゃな画像を製造する場合がありま…

Goのbufio.Scannerは入力データの1行の長さが一定以上になるとスキャンをやめてしまう

Goのbufio.Scannerの落とし穴について。 概要 Goのbufio.Scannerはio.Readerを一行ずつ読み込んで行く時に非常に便利なライブラリなのだけど、タイトルの通り、入力データ(io.Reader)の1行の長さがScannerのバッファサイズを超えるとスキャンをやめてしま…

はてなブログに移行しました

今更ですがはてなダイアリーからはてなブログに移行しました。はてなダイアリーの新規開設受付が終了してこのままはてなダイアリーを使い続けていても近い将来にはてなブログに移行させられそうだったので、余裕があるうちにやっておきました。 旧ダイアリー…

雨予報bot「mickey24_bot」の使い方 ver 3.0

mickey24_botは主に以下の機能を備えているTwitter botです。 短時間雨予報&天気予報 週間天気予報 雨予報自動配信 漢字天気予報 人間画像製造 臓物占い Brainf*ckインタプリタ おまけ どんなbot? 短時間雨予報用bot。「○○の雨」もしくは「○○の天気」から…

mickey24_botの雨予報自動配信の仕様が変わりました

mickey24_botの雨予報自動配信が配信専用bot(@rainforecast0, @rainforecast1, ...)によって行われるようになりました。この変更によって、mickey24_bot本体のツイート数が少なくなり、rate limit exceededエラーによってbotがしばらく会話できなくなると…

Cucumber+Mockで悩んでいる

CucumberでMockに対するmethod呼び出しのexpectation(should_receive)をどのように書くか悩んでいる. 動くけど好きじゃない例 CucumberのexamplesにMockを使う例がある. https://github.com/cucumber/cucumber/tree/master/examples/rspec_doublesこの例…

Ruby 2.0.0-p0がリリースされてた

Ruby 2.0.0-p0 リリースノートわーい.開発・リリースに関わった皆さん,本当におつかれさまでした&ありがとうございました. 非互換 リリースノートにRuby 2.0.0の「特筆すべき非互換」について書いてあったので真っ先に確認してみた. デフォルトのスクリ…

うちのbotがエアコンの操作方法を覚えた

追記:2017-07-09現在この機能は利用できません。最新の情報は雨予報bot「mickey24_bot」の使い方 ver 3.0 - ぬいぐるみライフ?をご覧ください。ぼくの自宅のエアコン限定ですが,mickey24_botがエアコンを操作できるようになりました. どんな機能なの う…

unite.vimで:UniteWithBufferDirのsourceにfile_recを指定すると失敗する

Vim

現在開いているバッファのディレクトリでUniteのfire_rec (file_rec/async)を実行したいことが結構あるのだけど,以下のように:UniteWithBufferDirとfile_recを組み合わせて実行すると何故か結果がひとつも表示されない. :UniteWithBufferDir file_rec:Unit…

JavaScriptの等値演算は==ではなく===を使うようにする

JavaScriptの==は予想外の結果を返すことがある JavaScriptの等値演算子==は,左右のオペランドの型が等しい場合,両者の値が等しければtrueに,そうでなければfalseになります.しかし,2つのオペランドの型が違う場合,==はオペランドを型変換してから比較…

Vimで行末の空白文字をハイライトする

Vim

.vimrcに以下のように書いておくと自動的にハイライトされるようになる. augroup HighlightTrailingSpaces autocmd! autocmd VimEnter,WinEnter,ColorScheme * highlight TrailingSpaces term=underline guibg=Red ctermbg=Red autocmd VimEnter,WinEnter *…

「Arduinoをはじめようキット」を購入したよ

全くの初心者なのでとりあえずキットを買ってみた.Arduinoをはじめようキット出版社/メーカー: スイッチサイエンスメディア: おもちゃ&ホビー購入: 64人 クリック: 1,164回この商品を含むブログ (50件) を見るついでに本も注文してみた.Arduinoをはじめよ…

mecab-rubyのMeCab::Tagger#parseToNodeの戻り値が気に入らないのでアレする

mecab-rubyでテキストを形態素解析するときによく使うMeCab::Tagger#parseToNodeですが,戻り値がMeCab::NodeのArrayやEnumeratorではなく,以下のようにMeCab::Node#nextを使って各要素にアクセスしなければならないので使い勝手が悪いです. # -*- coding:…

Ubuntu 10.04でMeCabをRubyから使えるようにする

MeCabのインストール MeCabと辞書のインストールはapt先生にお任せします.辞書はUTF-8のものを使います. $ sudo apt-get install mecab mecab-ipadic-utf8MeCabが正常に動くことを確認します. $ echo "俺、この戦争が終わったら結婚するんだ。" | mecab …

rbenvでインストールしたRubyのgemコマンドがzlib云々ほざいて動かない時の対処法

rbenvでインストールしたRubyのgemを動かしたら以下のようなエラーを吐いて死にました. $ gem install -V twitter ERROR: Loading command: install (LoadError) no such file to load -- zlib ERROR: While executing gem ... (NameError) uninitialized c…

JavaScriptで記号だけを使ってFizzBuzz

ブラウザ環境ではalert関数で,Rhinoなどではprint関数でFizzBuzzの結果を出力するようになっています.ブラウザで実行して出たダイアログのOKボタンが押せない場合はエンターキーを押してください. $=+[];$={___:$++,__$:$++,_$_:$++,_$$:$++,$__:$++,$_$:…

JavaScript勉強中

2ヶ月くらい前からJavaScriptの勉強を始めました.とりあえずJavaScript: The Good Partsを読んで「JavaScriptの良い部分」だけを使ったコードを書く練習をしているところです.JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス作者: Do…