タグ

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

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

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

    Pythonプログラムのパフォーマンスを解析し、可視化する - Qii
    ottonove
    ottonove 2018/04/16
  • 人工知能時代の音楽制作への招待 - Google Magenta 解説&体験ハンズオン (自習編) - - Qiita

    音楽制作を行っていて人工知能技術に興味がある、あるいは機械学習をやっていて音楽が好きだ!そんな方に送る、機械学習による音楽生成のチュートリアル資料となります。記事のみで、仕組みの理解から実際に音楽を生成して、SoundCloudで共有するまでの手順を網羅しています。 そして、記事は先日実施した人工知能時代の音楽制作への招待 - Google Magenta 解説&体験ハンズオン -の自習用資料でもあります。 イベント自体は100名を超える方(開催前日の段階で倍率が5倍)に応募いただき、行きたかったけど行けなかった!という方も多いかと思うので、自習編にて内容に触れていただければと思います。 ※なお、会場のキャパを広げられなかった代わりに撮影をしていただいたので、後日講義動画が上がればそちらも掲載させていただきます。 ゴール 音楽生成とはそもそもどういう仕組みで、どんなアプローチが取られて

    人工知能時代の音楽制作への招待 - Google Magenta 解説&体験ハンズオン (自習編) - - Qiita
    ottonove
    ottonove 2018/01/27
    @@, 信号処理, 教材, 機械学習, 音楽
  • 画像処理の数式を見て石になった時のための、金の針 - Qiita

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

    画像処理の数式を見て石になった時のための、金の針 - Qiita
  • HerokuでNumpy, Scipy, scikit-learnを利用する - Qiita

    Python機械学習を組み込んだアプリケーションを作成すると、大体scikit-learn、それでなくてもNumpyやScipyに依存することが多いです。 これらは様々なライブラリに依存しているため、Heroku上にデプロイするには一筋縄ではいきません。AWSなどで自前のサーバーがたてられる場合はそちらに立てれば良いですが、お金もかかるしHerokuでやりたい!という場合もあると思うのでそのための手法を紹介します。 Docker Container HerokuでもDocker Containerを利用したデプロイが可能になったため、buildpackをいそいそと編集するよりもこちらを利用するほうが便利です。以下に公式のサンプルがあるため、こちらをご参考にしていただければと。 heroku-examples/python-miniconda これでもうapt-getでいろいろインストール

    HerokuでNumpy, Scipy, scikit-learnを利用する - Qiita
  • 音楽アプリのための音声解析入門 - Qiita

    Courseraで受講したAudio Signal Processing for Music Applicationsの内容のまとめです。単純にトラックを再生するだけではなく、一歩踏み込んだものを作りたい、というときの入り口になる・・・と思います。 音声解析の目的 音声解析とは、ざっくりいえば「聞こえてくる音声がどんな周波数の音で構成されているか」を明らかにすることです。これをスペクトル解析といいます。 これを明らかにすると、以下のようなことができるようになります。 音の構成から、特徴づけを行う(楽器・発話者の特定、音楽のジャンルの推定など) 目的の周波数以外の音を除外する(フィルタリング) 音の合成によって目的のサウンドを構成する(シンセサイザーなど) 上記の点にもある通り、分解(解析)が上手くできれば、その逆の合成によって音を作り出すこともできるようになります。つまり、音楽解析は全体と

    音楽アプリのための音声解析入門 - Qiita
    ottonove
    ottonove 2015/08/28
  • WindowsでvirtualenvにNumpyをインストールする - Qiita

    Pythonと言えば数値計算、それを代表するパッケージがNumpyであるが、こいつのインストールは一筋縄ではいかない。はまって地獄を見た人も少なくないだろう。特にWindowsでは。 最も簡単な方法はAnacondaなど既にNumpyが組み込まれたPythonディストリビューションを利用することだ(公式サイトにもそう書いてある)。しかし、通常のPythonアプリケーションはvirtualenvで環境を構成してpipでインストールするのが一般的なので、その流れに乗せたいのが正直なところ。 そのため、pipでのインストールを行う方法を紹介する(厳密にはpipでインストールしたかのようにする方法)。 Windowsインストーラーを公式サイトからダウンロード 落としてきたexeファイルを、7zipなどで開く 中にSSEなどCPUに応じたexeファイルが入っているので、それを引っこ抜く(Window

    WindowsでvirtualenvにNumpyをインストールする - Qiita
  • Pythonで機械学習アプリケーションの開発環境を構築する - Qiita

    Python機械学習アプリケーションの開発環境、具体的にはNumpy/Scipy/scikit-learnを導入する手順について解説します。 なお、環境はPython3ベースを想定しています。 Minicondaベース(推奨) 機械学習系のパッケージはコンパイルが面倒なものが多いため、コンパイル済みバイナリをインストールできるconda(Miniconda)での環境構築を推奨します。 まずはPython体(Python3想定)、パッケージ管理ツールであるpip、仮想環境を作成するvirtualenv、といった基的な環境の構築を行います。 ※virtualenvについては今回(condaを使う場合)は不要ですが、Pythonで開発を行うなら入れておくべきパッケージなので併せて入れておきます。 Mac/Linux デフォルトのPythonと分けてインストールするため、pyenvを利用しま

    Pythonで機械学習アプリケーションの開発環境を構築する - Qiita
  • Windows & プロキシ配下でPythonを開発する君へ - Qiita

    まず言っておくべきなのは、もしあなたがMacLinuxを持っているならPythonはそれらで開発したほうがいいということだ。 WindowsでのPythonはかなり手間になる。しかし俺のPC、というかWindows以外選択肢がないんだよという方に向け、PythonWindows、また同じく躓きの元になるプロキシ配下で行う場合の注意点をまとめておきます。 Pythonのインストール これは迷うことなく、Downloadページから・・・と思いきや、そうではなくこちらからダウンロードすることをお勧めしたい。 Miniconda Minicondaとは、Python数学系処理のライブラリをガッツリ詰め込んだAnacondaのライト版である。 PythonでなくMinicondaを入れる最大の理由は、condaコマンドである。 Pythonにおけるパッケージインストールツールであるpipは

    Windows & プロキシ配下でPythonを開発する君へ - Qiita
  • はじめるDeep learning - Qiita

    そうだ、Deep learningをやろう。そんなあなたへ送る解説記事です。 そう言いながらも私自身勉強しながら書いているので誤記や勘違いなどがあるかもしれません。もし見つけたらご連絡ください。 Deep learningとは こちらのスライドがとてもよくまとまっています。 Deep learning つまるところ、Deep learningの特徴は「特徴の抽出までやってくれる」という点に尽きると思います。 例えば相撲取りを判定するモデルを構築するとしたら、普通は「腰回りサイズ」「マゲの有無」「和装か否か」といった特徴を定義して、それを元にモデルを構築することになります。ちょうど関数の引数を決めるようなイメージです。 ところが、Deep learningではこの特徴抽出もモデルにやらせてしまいます。というか、そのために多層、つまりDeepになっています。 具体的には頭のあたりの特徴、腰のあ

    はじめるDeep learning - Qiita
  • React.js 実戦投入への道 - Qiita

    最近話題のReact.jsですが、実戦投入に当たっては結構重たい選択を迫られることになります。 ざっくり言えば、テンプレートエンジンを捨ててReactしますか?それともReactあきらめますか?という選択です。 記事ではReactの基思想とこうした選択肢が生まれてしまう背景を述べるとともに、後半では「どちらもあきらめない」という(若干シミュレーションRPGあるある感のある)第三の方策について案を提示します。 Reactの基 最初に、Reactの基的な仕組みについてまとめておきます。 Reactは公式ドキュメントが非常に充実しているので、始める際はぜひQuick Startのドキュメントに目を通すことをお勧めします。 Getting Started Tutorial Thinking in React 後述しますが、Reactを使ってアプリケーションを作る際の設計方法についての記載が

    React.js 実戦投入への道 - Qiita
  • 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
  • Python Conda Tips - Qiita

    Pythonの実行環境であるMinicondaのコマンドTips。ドキュメントがあまり充実していない・・・というか、かゆいところに手が届かない感じなのでまとめておく。 公式ドキュメント Command Flow # 仮想環境を作成(virtualenv的なもの) conda create -n my_env numpy scipy # 仮想環境の一覧を表示 conda info -e # 仮想環境を有効化 activate my_env # Windows source activate my_env # Max/Linux # 仮想環境に追加でインストール(バージョンを指定する場合conda install scipy=0.12.0など) conda install scikit-learn # condaで取得できないものについて、pipでインストール(仮想環境にpipを入れて対応)

    Python Conda Tips - Qiita
  • SourceTreeから始めるGit - Qiita

    SourceTreeというガッツリしたGUIクライアントができてから、「Gitはコマンド打つべし」という感じでもなくなりつつあるかなと感じている(現に、TortoiseSVNを使っているときにSVNのコマンドを意識したことはなかった)。 そんなわけで、ここではGitの詳しい説明は一切はしょりSourceTreeの操作にのみ焦点を当てて解説を行う。ただ、コマンドにも興味あるという方に備え、コマンドも併記しておく。 インストール こちらにアクセスしてインストール。 https://www.atlassian.com/ja/software/sourcetree/overview なお、以下の説明ではWindows版を使用。 初期設定 ツール>オプションから各種設定が可能。見ておくべき箇所は以下3点。 一般(git config) ユーザー名/メールアドレスは必ず設定しておく。インストール時に設

    SourceTreeから始めるGit - Qiita
  • 新・三大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
  • 1