ブックマーク / qiita.com/icoxfog417 (10)

  • Pythonプログラムのパフォーマンスを解析し、可視化する - Qii

    パフォーマンスチューニングを行う際、改修前後で効果があらわれているか確認するのは重要です。Pythonにはデフォルトでパフォーマンス解析を行うモジュールが組み込まれているのですが、そのままではちょっと使いづらいく出力結果も見にくいです。そこで、簡易な記法で計測できる+結果の可視化を行うツールを作りました。 icoxfog417/pyfbi まず、実行結果(dump_statsなどで保存したファイル)を以下のようにグラフ・表で可視化できます。インストールするとpyfbi_vizというコマンドが使えるので、それでファイルを保存したディレクトリを指定すればOKです。改修前の計測、改修後の計測2つのファイルをフォルダに入れておけば前後の可視化が可能です。 pureは内部で呼び出している関数の実行時間を加味しない、純粋な実行時間になります(tottime)。totalは、呼び出している関数の実行時間

    Pythonプログラムのパフォーマンスを解析し、可視化する - Qii
    tmatsuu
    tmatsuu 2017/11/01
    お、ISUCONではWerkzeugの出力結果をgprof2dotに食わせたんだけど、これも良さそう。あとで試す。
  • 大自然言語時代のための、文章要約 - Qiita

    さまざまなニュースアプリ、ブログ、SNSと近年テキストの情報はますます増えています。日々たくさんの情報が配信されるため、Twitterやまとめサイトを見ていたら数時間たっていた・・・なんてこともよくあると思います。世はまさに大自然言語時代。 from THE HISTORICAL GROWTH OF DATA: WHY WE NEED A FASTER TRANSFER SOLUTION FOR LARGE DATA SETS テキスト、音声、画像、動画といった非構造データの増加を示したグラフ そこで注目される技術が、「要約」です。膨大な情報を要点をまとめた短い文章にすることができれば、単純に時間の節約になるだけでなく、多様な視点から書かれた情報を並べて吟味することもできます。 文書は、この文書要約(Text Summarization)についてその概観を示すことを目的として書かれていま

    大自然言語時代のための、文章要約 - Qiita
    tmatsuu
    tmatsuu 2017/10/29
    ライブドアニュースの「ざっくり言うと」ってどうやってんだろう。あれ人力だろうか。
  • Pythonを書き始める前に見るべきTips - Qiita

    Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に

    Pythonを書き始める前に見るべきTips - Qiita
    tmatsuu
    tmatsuu 2017/10/08
    いいね。中級者もしくは他言語に慣れた人向けとして良い資料
  • 画像処理の数式を見て石になった時のための、金の針 - Qiita

    画像処理は難しい。 Instagramのキレイなフィルタ、GoogleのPhoto Sphere、そうしたサービスを見て画像は面白そうだ!と心躍らせて開いた画像処理の。そこに山と羅列される数式を前に石化せざるを得なかった俺たちが、耳にささやかれる「難しいことはOpenCVがやってくれるわ。そうでしょ?」という声に身をゆだねる以外に何ができただろう。 稿は石化せざるを得なかったあの頃を克服し、OpenCVを使いながらも基礎的な理論を理解したいと願う方へ、その道筋(アイテム的には金の針)を示すものになればと思います。 扱う範囲としては、あらゆる処理の基礎となる「画像の特徴点検出」を対象とします(実践 コンピュータビジョンの2章に相当)。なお、記事自体、初心者である私が理解しながら書いているため、上級画像処理冒険者の方は誤りなどあれば指摘していただければ幸いです。 画像の特徴点とは 人間が

    画像処理の数式を見て石になった時のための、金の針 - Qiita
    tmatsuu
    tmatsuu 2017/10/07
    部分的に理解できた。良い。
  • ディープラーニングの判断根拠を理解する手法 - Qiita

    ディープラーニングは特定分野で非常に高い精度が出せることもあり、その応用範囲はどんどん広がっています。 しかし、そんなディープラーニングにも弱点はあります。その中でも大きい問題点が、「何を根拠に判断しているかよくわからない」ということです。 ディープラーニングは、学習の過程でデータ内の特徴それ自体を学習するのが得意という特性があります。これにより「人が特徴を抽出する必要がない」と言われたりもしますが、逆に言えばどんな特徴を抽出するかはネットワーク任せということです。抽出された特徴はその名の通りディープなネットワークの中の重みに潜在しており、そこから学習された「何か」を人間が理解可能な形で取り出すというのは至難の業です。 例題:このネットワークが何を根拠にとして判断しているか、ネットワークの重みを可視化した上図から答えよ(制限時間:3分) image from CS231n Visua

    ディープラーニングの判断根拠を理解する手法 - Qiita
    tmatsuu
    tmatsuu 2017/09/30
    めっちゃおもろい。グッときた。後半だんだん分からなくなったけども。
  • GitHub APIから学ぶ次世代のAPI実装方式GraphQL - Qiita

    最近公開されたGitHubAPIは、GraphQLという形式に対応しました。今後はこちらが主流になっていくようで、既存のREST APIからGraphQLへのマイグレーションガイドも提供されています。 今回は、このGraphQLについて、実際にGitHubAPIを叩きながらその仕組みを解説していきたいと思います。 GraphQLとは 歴史 GraphQLは、Facebookの中で2012年ごろから使われ始めたそうです。その後2015年のReact.js Confで紹介されたところ話題となり、同年"technical preview"のステータスでオープンソースとして公開されました。その後仕様が詰められ、2016年9月に晴れて"preview"を脱し公式実装として公開されました。これと同じタイミングで、GitHubからGraphQLバージョンのAPIが公開されています。 このあたりの経緯

    GitHub APIから学ぶ次世代のAPI実装方式GraphQL - Qiita
    tmatsuu
    tmatsuu 2017/06/29
    公開APIとしてGraphQLが向いているかはわからないが、マイクロサービスではこれぐらいリッチなインタフェースがデフォルトになると良さそう。サーバ側の実装ライブラリあるんかな。
  • 転移学習:機械学習の次のフロンティアへの招待 - Qiita

    機械学習を実務で使う場合、「ではお客様、ラベルデータを・・・」と申し出て色よい返事が返ってくることはあまりありません。また、例えば自動運転車を作るときに、データが足りないからその辺流してくるか、お前ボンネットに立ってデータとってな、とするのは大変です。 NICO Touches the Walls 『まっすぐなうた』 より そこで必要になってくるのが転移学習です。 転移学習とは、端的に言えばある領域で学習させたモデルを、別の領域に適応させる技術です。具体的には、広くデータが手に入る領域で学習させたモデルを少ないデータしかない領域に適応させたり、シミュレーター環境で学習させたモデルを現実に適応させたりする技術です。これにより、少ないデータしかない領域でのモデル構築や、ボンネットに立つという危険を侵さずにモデルを構築することができるというわけです。 この転移学習の可能性は、NIPS 2016

    転移学習:機械学習の次のフロンティアへの招待 - Qiita
    tmatsuu
    tmatsuu 2017/04/16
    この世界に疎いので正直さっぱりわからなかったのだが、取り急ぎ転移学習いうものがあることを覚えておく。
  • 全自動機械学習で実現する、現場のためのワンクリックデータ予測 - Qiita

    機械学習も含めた、データの活用は現場主体のほうが上手くいくという実感があります。大体、トップダウンで行うようなものは以下のような感じになるためです。 そうすると・・・ じんこうちのうコンサルタント(自称)があらわれた! 「機械学習を使うには、業務の分析が欠かせません。ひいては、まずコンサルティング契約(x百万)を結んでいただきそのあとに・・・」 じんこうちのうサービス(自称)があらわれた! 「弊社のサービスを使えば簡単ですよ!噂のディープラーニングで高精度な画像認識、音声認識を約束します!え、データは画像でも音声でもない?大丈夫です!なんといっても汎用ですから!」 アイ・オー・ティー・ロボットがあらわれた! 「モクヒョウにセンサーをつけてブンセキ・・・モクヒョウにセンサーをつけてブンセキ・・・モクヒョウにセンサーをつけてブンセキ・・・」 しかも・・・ しゃちょうは、じんこうちのうにあやつら

    全自動機械学習で実現する、現場のためのワンクリックデータ予測 - Qiita
    tmatsuu
    tmatsuu 2016/12/17
    へー面白い。現場主義 とてもいい。
  • Railsの逆を行く、デザイナと開発者が協力するためのScala Liftフレームワーク - Qiita

    最近のフレームワーク、っていうとどれもRailsと似たような感じで実装言語が違うだけでしょ?という感じですが、Liftはそんな中完全に逆を行ってます。 その思想は他の言語でも通用するはずなので、ぜひScalaなんぞ知らんという方も読んでいただければと思います。 Liftの特徴 公式な特徴はホームページに記載されていますが、個人的にプッシュしたいのは以下点です。これらは、Templatingに詳しく書かれています(日語訳)。 1 デザイナフレンドリー 2 コントローラーがない 3 速い デザイナフレンドリー 自分の手元にあるerbやらjspやらasp(chtml/vbhtml)やらのファイルを見て、これをサーバーサイド側の言語を知らない人間に手渡せるか?と考えたときYesと言える人はどれくらいいるでしょうか。 それらのファイルにはそこそこコードが入り組んでいて、特にRailsの場合顕著です

    Railsの逆を行く、デザイナと開発者が協力するためのScala Liftフレームワーク - Qiita
    tmatsuu
    tmatsuu 2014/01/04
    リンク先のサンプルみた。これは…厳しい。HTML::TemplateぐらいのシンプルなDSLを備えたテンプレートが個人的には好きです。
  • 新・三大JavaScriptフレームワークの実践(Backbone.js Knockout.js Angular.js) - Qiita

    Todoリストの機能 1.テキストボックスから、Enterで追加できる 2.登録したTodoはダブルクリックで編集可能になり、Enterで編集確定できる 3.登録されているTodoの総件数がフッターに表示される 4.完了したTodoがある場合、それらをリストから消すボタンが表示される 5.全選択/解除を行うチェックボックスがある 個人的な結論 趣味開発で使うならAngular.js・仕事で使うならKnockout.jsをお勧めしたい。 まず、フレームワークを選択する際は、以下3つの選択基準を持つとよいと思う。 1.開発の規模 大規模ならBackbone.jsはお勧めできる。 書き方が決まっていて、チュートリアルに目を通せば(面倒なのは置いておいて)何を作らなければならないかは簡単に理解できる。そこそこの人数で長い時間の開発を行うなら、UIチームはアプリケーションとView、サーバーサイドは

    新・三大JavaScriptフレームワークの実践(Backbone.js Knockout.js Angular.js) - Qiita
    tmatsuu
    tmatsuu 2013/09/21
    まず有権者に訴えたいのは、これが今一番メジャーなフレームワーク3つであるということ
  • 1