タグ

ブックマーク / nishiohirokazu.hatenadiary.org (12)

  • TensorFlow Playgroundはニューラルネットを理解するのにおススメ - 西尾泰和のはてなダイアリー

    ネットワークの重みや各ニューロンがどういう入力の時に発火するのかが、学習していく過程で各時刻可視化されてとても良い教材です。 http://playground.tensorflow.org/ うずまきのデータセットに関して「中間層が1層しかないとうずまき(線形非分離な問題)は解けない」という誤解があるようなので、まずは1層でできるという絵を紹介。なお僕のタイムライン上では id:a2c が僕より先に気付いていたことを名誉のために言及しておきます。 で、じゃあよく言われる「線形非分離な問題が解けない」ってのはどういうことか。それはこんな問題設定。入力に適当な係数を掛けて足し合わせただけでは適切な境界を作ることができません。 こういうケースでは中間層を追加すると、中間層が入力の非線形な組み合わせを担当してくれるおかげで解けなかった問題が解けるようになります。 1つ目のデータセットでは特徴量の

    TensorFlow Playgroundはニューラルネットを理解するのにおススメ - 西尾泰和のはてなダイアリー
  • 「めんどくさい」「やる気がでない」時のチェックリスト - 西尾泰和のはてなダイアリー

    「めんどくさい」「やる気がでない」にも色々なパターンがあります。そこで質問に答えていくと解決策にたどりつくようなチェックリストを作ってみました。 追記: このエントリーの内容を元に平均10問の質問に答えるだけであなたの状況に合わせたアドバイスをする人工知能を作りました。オススメです。 Q1: やる気がでないのは今日に入ってからですか? 数日やる気がでない状態が続いているのですか?それとも今日に入ってからかですか? 今日に入ってから→Q2 数日続いている→Q8 Q2: 最近なにか新しい情報が明らかになりましたか? たとえば計画段階では知らなかった事実が明らかになって、今までやってきた作業が無駄になったとか。何らかの情報が最近明らかになりましたか? はい→状況が変わったのであれば、計画の通りに実行することが必要とは限りません。状況の変化に合わせて計画を変更したり中止したりしてはいけないのですか

    「めんどくさい」「やる気がでない」時のチェックリスト - 西尾泰和のはてなダイアリー
    oinume
    oinume 2016/03/29
  • gitにでかいバイナリファイルを入れるとどうなるか - 西尾泰和のはてなダイアリー

    ふと気になったのでgitにでかいバイナリファイルを入れたらどうなるのか調べてみた。 自分の発表が録画された112メガのaviファイルを実験対象に使う。 cp まずはgitを使わない普通のcpの時間を測っておく。 real 0m0.744s user 0m0.001s sys 0m0.179s git add git addにはコピーの10倍以上の時間がかかる。 real 0m9.339s user 0m7.989s sys 0m0.490s git commit git commitには意外と時間が掛からなかった。 real 0m0.055s user 0m0.002s sys 0m0.031s git clone 先ほど動画ファイルをcommitしたリポジトリをcloneしてみる。単純なファイルコピーに比べると3倍弱時間がかかる。 real 0m1.943s user 0m0.932s

    gitにでかいバイナリファイルを入れるとどうなるか - 西尾泰和のはてなダイアリー
  • Scalaのtraitはmixinか? - 西尾泰和のはてなダイアリー

    Rubyのmixin(モジュール)、Squeakのtrait、Scalaのtraitそれぞれについて: Q1: メソッドの実装を持てる? はい、はい、はい Javaのクラスは「はい」、インターフェイスは「いいえ」、C++Pythonのクラスは「はい」 Q2: クラスがそれを複数個継承できる? はい、はい、はい Javaのクラスは「いいえ」、インターフェイスは「はい」、C++Pythonのクラスは「はい」 Q3: インスタンスを作れる? いいえ、はい、いいえ C++Pythonのクラスは「はい」 Q4: 複数個継承した際に名前が衝突しました、どうなる? しれっと上書き、エラー(*)、エラー (*) Squeakはクラス定義時には例外を投げず、衝突したメソッドを「衝突した旨の例外を投げるメソッド」に置き換える。ユーザが衝突に気づくのは、クラスブラウザでメソッドを確認した時か、そのメソッド

    Scalaのtraitはmixinか? - 西尾泰和のはてなダイアリー
  • Pythonの__xxx__まとめ - 西尾泰和のはてなダイアリー

    データモデル - 特殊メソッド名 — Python 2.7ja1 documentation 27.11. __future__ — future 文の定義 — Python 2.7ja1 documentation 30.7. runpy — Python モジュールの位置特定と実行 — Python 2.7ja1 documentation 以下がpython2.7.3リポジトリ中のすべての*.pyから出現頻度をカウントしたもの、ベスト100。全部見たい人はこちら: Pythonの__xxx__の集計。1行解説を付けてみたが途中で飽きた。 __init__ 3058 コンストラクタ __name__ 1729 モジュールの名前。インポートされたのではなくスクリプトとして起動された時には__main__になることを利用して(続き) __main__ 1191 インポートして使う時とスクリ

    Pythonの__xxx__まとめ - 西尾泰和のはてなダイアリー
  • Macのスクリーンショットで1日の作業を記録して動画で振り返り - 西尾泰和のはてなダイアリー

    スクリーンショットを10秒に1回撮影して連番の画像で保存するスクリプトを走らせて1日の作業を記録し、一日の最後にffmpegで動画にして振り返りをしてみた。結構面白いよ。 社内掲示板やメーラやエディタで文章がにょきにょき伸びていくのが見えるのも楽しいけど、一日の終わりに「ああそうそう、これを調べてたんだった、途中でインタラプトが入って忘れてた」「この調べ物をした後サイドバーに出てた記事を読みふけってしまったけど、必要ではなかったな」「この作業は今やるべきことじゃなかったな」「時間を結構無駄にしたな」などという振り返りができる。反省。 10秒に1回撮影したのを10FPSで動画にしているから1時間が36秒になる。もうちょっと速くしてもいいかも。1分に1枚にすると1時間が6秒か。その間くらいかなー。 記録用スクリプトが連番で画像を吐いているのは後でffmpegで読み込ませるため。screenca

    Macのスクリーンショットで1日の作業を記録して動画で振り返り - 西尾泰和のはてなダイアリー
    oinume
    oinume 2012/08/04
  • Github PagesでSphinxの出力をホストする - 西尾泰和のはてなダイアリー

    難しそうな気配を感じて二の足を踏んでいたが意外とあっさりだったのでメモ。 1. Sphinxの出力ファイルを単に配置するだけでは_staticなどが無視されて悲しくなるので、github pages に Sphinx で生成したドキュメントを公開する。 - kuma8の日記を参考に、sphinxtogithubをインストールする。(←意外とあっさりポイント1) 2. make cleanしてmake htmlし直して問題ないことを確認。 3. 今回HTMLを生成するためのsphinxのコードは今このリポジトリで管理されているので、この手元のワークツリーを空っぽにしたりとかしたくない。そこでリポジトリ内で同じリポジトリをcloneする。ちなみにいまプロジェクトルートがlearn_languageで、その中のsphinxdocってディレクトリの中にいる。 $ git clone https:/

    Github PagesでSphinxの出力をホストする - 西尾泰和のはてなダイアリー
  • 言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー

    Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初

    言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー
  • 他の言語に慣れた人がPythonを使ったときにつまずきがちな10のポイント - 西尾泰和のはてなダイアリー

    今日質問されて、以前Twitterで書いたのを思い出して、そして検索性が悪くて見つけ出すのに苦労した。こちらに転載しておく。詳細は気が向いたときに埋める。 オプション引数の評価タイミング Rubyではオプション引数は関数が呼ばれるたびに評価される。 def foo() print "foo!" end def bar(x=foo()) end bar #=> foo! と出力される bar #=> foo! bar #=> foo! Pythonでは関数の定義時に1回だけ評価される。 def foo(): print "foo!" def bar(x=foo()): pass #=> foo!と出力される bar() #=> 何も出力されない bar() 「引数が省略されたら今の日時」みたいな毎回評価したい場合はデフォルト値をNoneにしておいて「Noneだったら=省略されていたら」のif

    他の言語に慣れた人がPythonを使ったときにつまずきがちな10のポイント - 西尾泰和のはてなダイアリー
  • Python標準添付のデバッガ「pdb」の簡単な紹介 - 西尾泰和のはてなダイアリー

    2004年にはすでに標準ライブラリに入っていたのに「スクリプト言語でもステップ実行とかできたらいいのにね」とか言われちゃう不憫なpdbについて軽く解説。pdb不憫な子! まず適当にスクリプトを書きます。 ~$ cat t.py for i in range(10): sum += i print sum実行するとエラーになります。 ~$ python t.py Traceback (most recent call last): File "t.py", line 2, in <module> sum += i TypeError: unsupported operand type(s) for +=: 'builtin_function_or_method' and 'int'ワー、なんでエラーになったんだろー(棒読み) そこでおもむろに-m pdbをつけてステップ実行します。 ~$ p

    Python標準添付のデバッガ「pdb」の簡単な紹介 - 西尾泰和のはてなダイアリー
  • 1時間でわからせたコンシステントハッシュで仮想ノードが必要な理由 - 西尾泰和のはてなダイアリー

    ConsistentHashing - コンシステント・ハッシュ法 とあるチャットで聞かれて図まで書いて解説したのでもったいないからエントリー化。ちなみにチャットが1時間弱だったのでこういうタイトルにした。 で、Bが消えるとBの責任範囲が全部Dに押し付けられてDがかわいそうでしょ。 Dの仕事が増えるでしょ。Cとか暇そうじゃん!サーバを複数用意しているメリットが薄れてる。みんなが同じくらい働くのが望ましい。 で、Bが1個の点で表現されているから「Bの手前」もDの1個だけで、そのせいで全部Dが引き受けるはめになった。つまり、仕事が細かく分割されてなくて1個の塊だから引き継ぐ人も1人だけで引き継いだ人涙目。あらかじめ仕事を100分割しとけばみんなで分担して肩代わりできて幸せだよね。 だからサーバが5個だけど点は5個じゃなくて500個打とう。それが仮想ノード。 実装はどうするの?という質問に対して

    1時間でわからせたコンシステントハッシュで仮想ノードが必要な理由 - 西尾泰和のはてなダイアリー
  • coverageを使う - 西尾泰和のはてなダイアリー

    http://pypi.python.org/pypi/coverage/2.6/ $ coverage run prettyprint.py $ coverage htmlまあ僕は面倒なので $ coverage run prettyprint.py && coverage htmlとやるのだけど。これをやるとこんなふうになる カバレッジで覆われてないところのテストを書く。あー、でも最後のraise NotImplementedErrorとかは、うっかりミスをしたときにすぐ気づくように付けてあるもんであって普通は到達しないんだよな。わざと到達させるのも馬鹿らしい。 http://nedbatchelder.com/code/coverage/excluding.html http://nedbatchelder.com/code/coverage/config.html#config お

    coverageを使う - 西尾泰和のはてなダイアリー
  • 1