タグ

ブックマーク / qiita.com (344)

  • Python Kivyの使い方① ~Kv Languageの基本~ - Qiita

    あらまし PythonGUIライブラリーを作るKivy(https://kivy.org/#home) ですが、日では知名度はさほどではありません。理由として一番多いのはインストールしたのは良いが日語でまとまった情報があまりなく、どう使用していいかわからないという声をよく聞きます。またKivyにはレイアウトを記述する際にPythonによるコード入力とは別にKv Languageと呼ばれる、CSSに似たKivy独時の言語を用いてレイアウトを作成できますが、情報が少なく慣れるまで時間がかかります。 ここではKv Languageを用いた簡単なプログラムを紹介してKv Languageの基的な使い方を紹介します。 今回作成するプログラムについて 今回作成するプログラムは以下になります。 画像左端が起動直後の状態です、下にある「朝」、「昼」、「夜」のボタンをクリックすることでそれぞれ、「お

    Python Kivyの使い方① ~Kv Languageの基本~ - Qiita
    aidiary
    aidiary 2018/04/16
  • 初心者向けGithubへのPullRequest方法 - Qiita

    Github上にローカル環境からTerminalなどのコマンドラインを使ってPush,PullRequestを作成する流れをまとめてみました。 大まかな流れ ①Github上からローカルにファイルをclone(保存)する ②GithubへPullRequest用のBranchをローカルで作成する ③データを更新編集し、ローカルに add, commitする ④Githubにpushする ⑤GithubにPullRequestする ※⑥PullRequestをMergeする 用語の整理 ①Github…オンライン上にレポジトリーを保管し、複数人で共有・編集できる ②ローカル…自分のPC ③clone...Githubなどオンライン上のリポジトリーをローカルにコピー保存すること ④Branch...1つのレポジトリに複数のBranchを作ることで同時に複数のバージョンでレポジトリを管理すること

    初心者向けGithubへのPullRequest方法 - Qiita
    aidiary
    aidiary 2018/02/13
  • ディープラーニングの判断根拠を理解する手法 - Qiita

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

    ディープラーニングの判断根拠を理解する手法 - Qiita
  • DeepLearningで楽曲特徴量を抽出し、タグを予測する - Qiita

    モチベーション 従来の音楽推薦技術は協調フィルタリングを用いることが多かったようですが、協調フィルタリングではマイナーな曲、新曲など「ユーザーからの評価が集まらない」作品をうまく扱えないという欠点があります。 音楽推薦技術のもう一つのアプローチ、「楽曲特徴量を抽出して推薦に活かす」という方法ならば、前述の問題を回避することができそうです。 そこで'End-to-end learning for music audio'1という論文を使って勉強しようとしたところソースコードが見つからなかったので、自力で再現して「DeepLearningで楽曲特徴量を抽出し、タグを予測する」タスクを行うことにしました。(なお、一部作業を変更し、完全な再現ではないことをご了承くださいませ。) 音楽Python, DeepLearningで処理する記事があまり見つからなかったので、何かの参考になれば幸いです。

    DeepLearningで楽曲特徴量を抽出し、タグを予測する - Qiita
  • 機械学習、深層学習のプラットフォームの整理 - Qiita

    PaaSサービスの簡単な説明 各ベンダーの提供サービスには予め学習されたモデルの翻訳や画像・動画認識などが用意されています。 Google Cloud Platform Google社が提供する機械学習プラットフォームになります。 サイズを問わず、あらゆるデータの機械学習モデルを簡単に構築できるマネージド サービスです。 クラウド上に用意されたTensorFlowも使えます。 ※サイトより抜粋 機械学習の内容 ・Cloud Machine Learning Engine 教師ありの回帰・分類、教師なしのクラスタリングなどさまざまなデータから学習ができます。 使用アルゴリズムは非公開。 Azure Machine Learning Azure Machine Learning は、クラウドの予測分析サービスであり、分析ソリューションとして予測モデルを迅速に作成し、デプロイできるようにします。

    機械学習、深層学習のプラットフォームの整理 - Qiita
    aidiary
    aidiary 2017/07/06
  • PRMLのアルゴリズムをPython(ほぼNumpyだけ)で実装 - Qiita

    自分の勉強(機械学習のアルゴリズムやPythonの勉強)のためにPRMLに掲載されている手法をPythonで実装していきます。 原則としては、アルゴリズムの部分ではPythonの標準ライブラリに加えてNumpyだけ使用可能としていきます。scikit-learnやtensorflowなどの機械学習パッケージは使いません。matplotlibなどの結果を図示するパッケージはアルゴリズムの実装と関係がない限りは使っていきます。また、必要になったらscipyなどの他のパッケージもたまに使っていきます(すでにディガンマ関数などに使用)。ただし、最適化ツール(例えばscipy.optimizeやtensorflowの自動微分機能)などの実装を著しく簡単にするものは使いません。 基的には、章ごとに一つの手法を実装していきます。一通り終われば二周目に入るかもしれません。自分の勉強のためのものなので、な

    PRMLのアルゴリズムをPython(ほぼNumpyだけ)で実装 - Qiita
    aidiary
    aidiary 2017/07/06
  • 【AWS】Lambdaでpipしたいと思ったときにすべきこと - Qiita

    はじめに Lambda関数を Python で書いていると、Lambda関数内でサードパーティのライブラリを使いたくなるときがあります。しかし、Lambda では pip を使ってライブラリをインストールすることはできません。今回はそんな状況で役に立つ方法を紹介します。 具体的には Lambda に用意されているファイルアップロード機能を使います。つまりファイルをアップロードするときにサードパーティのライブラリをアップロードすることで、Lambda関数内からライブラリを使えるようにします。 今回は Python の HTTPライブラリである requestsを使ってみようと思います。 関連記事 Lambda関数の基的な作成方法は以下の記事を参考にしてください。 AWSAPI GatewayLambdaを使ってRest APIを書いてみた 手順 ローカルで作業用ディレクトリを作成する

    【AWS】Lambdaでpipしたいと思ったときにすべきこと - Qiita
  • 効率的に安全な Dockerfile を作るには - Qiita

    結論 以下の手順で作るのが効率的です。 ベースにする Docker イメージを決める docker run -it <docker-image> sh でコンテナ内部で作業 1行ずつ、うまくいったらどこかにメモ 失敗したらいったん exit して再度 docker run ファイルの取り込みやポートの外部公開が必要ならオプション付きで docker run 全部うまくいったら Dockerfile にする ネットで見たことはないですが、もし docker build で試行錯誤しながら Dockerfile を作るとしたら、それはさすがに苦行です。 遅い デバッグしにくい!コンテナ爆発しろ!!って気持ちになります。 これが原因で「Docker 使えない 便利じゃない 」と思っていたのならそれは勘違いです。 手順詳説 試しに ip-api.com にリバースプロキシするだけの Nginx

    効率的に安全な Dockerfile を作るには - Qiita
  • Dockerイメージを試行錯誤しながら作る(PlayFramework環境) - Qiita

    この記事の目的 Dockerを布教していたところ Dockerで仮想環境を簡単に起動できるのはわかった。 ただ、Docker Hubに公開されているものならいいが、自作の環境を試行錯誤しながら作りたいときはどうすればいいのか。 というフィードバックをもらいました。 そこで、Dockerで環境を自作する様子を実際に私がたどった手順として公開し、イメージを掴んでもらうこととしました。 今回作成する環境は、Play Frameworkが起動する環境です。 筆者はこのとき初めてPlay Frameworkをインストールした初心者ですが、問題なく構築できました。 「空」のベースコンテナを起動し、インタラクティブに手順を確立していく 「Dockerで自作のイメージを作る」=「Dockerfileを作成する」です。 ほかにも方法はありますが、環境をコードとして残すことのメリットは大きいため、この方法がお

    Dockerイメージを試行錯誤しながら作る(PlayFramework環境) - Qiita
  • (インターン向けに書いた)Pythonパッケージを作る方法 - Qiita

    この記事は何? Pythonパッケージの作り方を説明する Pythonパッケージを作るときに意識して欲しいことを説明する この記事はポエムです これまでのあらすじ インターンを迎える予定なのですが、彼らはパッケージを作ったことがないそうです。 一方で、企業としては、パッケージ化までしてくれないと、実務に使うまで時間がかかってしまって大変です。 そこで、社内向けに「Pythonパッケージの作り方」という文書を書きました。これをインターンの人に読んでもらっていい感じのパッケージを作ってもらうぜ!という都合の良い目論見です。 しかし、 私もいままでパッケージ化のノウハウをきちんと体系的に勉強したわけではないので、イマイチ不安です。そこで、Qiitaにポエム投稿して、ポエム修正をしてもらおうと思ったわけです。 ところどころ日語が変なのはご容赦ください。日語に不自由してます。1 この記事を読む人

    (インターン向けに書いた)Pythonパッケージを作る方法 - Qiita
  • 音声信号処理をlibrosaでやってみるー初級編 - Qiita

    はじめに 筆者は音声信号処理・音声認識周辺の知識は皆無です。 その道のプロフェッショナルな方には記事はおすすめいたしません(;´・ω・) ちなみに初級、中級、上級と進んでいくつもりです。 動機 お仕事で「楽曲レコメンドしよーぜ!」的な話が出てきたので。 楽曲レコメンドは音声認識に分類される? 答えは否です。音声認識とは、人間が喋った声を機械が文字に直すことなので、楽曲レコメンドは音声認識とは呼ばないんですね。(こちらのサイトがとても分かりやすかった。) 楽曲レコメンドはMIRと呼ばれる研究分野のようで、音声信号処理が核になるようです。 MIRとは MusicInformatioRetrieval(音楽情報検索)の略。 普段から使っている、アーティスト名や曲名での楽曲検索はテキストデータをInputとするが、MIRでは音声波形そのものを入力とする。 以下MIRの具体例 聴く人に合った音楽

    音声信号処理をlibrosaでやってみるー初級編 - Qiita
  • 2016年の深層学習を用いた画像認識モデル - Qiita

    実装 検証が終わっていないモデルの使用は気をつけてください cifar10の数値感覚 現時点で97%以上ではSoTAになると思います。僕が知っている限り、最高精度は96.69%です。そろそろcifar100か別のデータセットを評価の軸にするべきかもしれません。 最近の傾向 今年はResnetファミリーの年だったと思います。特徴的な点として、深さ=精度が終わった点です。googlenetなどは昔から主張していましたが、ある程度深いと、深さよりも幅を広くしたほうが精度が上がるということが、様々な論文の結果で今年は示されました。3月くらいから、Resnetの幅を広くしたほうが良いという結果は副次的にぞろぞろ出ていて、5月23日に出たWide Residual Netowrksで決定的になったような形だと思います。幅が大事といったことが、今年はっきりした点であるように思います。 論文を俯瞰してみる

    2016年の深層学習を用いた画像認識モデル - Qiita
  • 転移学習:機械学習の次のフロンティアへの招待 - Qiita

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

    転移学習:機械学習の次のフロンティアへの招待 - Qiita
  • HomebrewでOpenCVいれたらVideoWriterできなかった話 - Qiita

    Help us understand the problem. What is going on with this article?

    HomebrewでOpenCVいれたらVideoWriterできなかった話 - Qiita
  • Chainerでfine-tuningを行う - Qiita

    すでにトレーニングされたモデルからWやbなどの重みを取得することで、より早く学習を進めることができる (fine-tuning)。 モデル自体が完全に同じ場合には当然使えるし、モデルの一部を修正して使用する場合にも、変更の必要がない層に関しては、あらかじめ学習済みのモデルから重みを借用するのが良い。例えば、分類先の画像種類が1000種類から10種類に切り替える場合などは、最終の全結合層のみ切り替える必要はあるが、それ以前の畳み込み層などは変更の必要性は少なく、その部分の重みを使用することができる。 計算時間短縮に結びつく背景には、以下のような点が挙げられる: - あらかじめ大量の計算資源を使用して収束した時点の結果を使用するため、それまでの計算時間を省略可能。特に、畳み込み層の第一層はガボールフィルタに近似するという研究も多く、あえてそこを新規で学習させる必要性はあまり感じられない - ま

    Chainerでfine-tuningを行う - Qiita
  • 講義まとめ:自然言語処理のための深層学習(CS224d) - Qiita

    CS224d(自然言語処理のための深層学習)はスタンフォード大のRichard Socherが2015年から教えている講義で、動画やスライドなどの講義資料と演習問題がウェブ上で無料で公開されています。 CS224d: Deep Learning for Natural Language Processing 会社の勉強会で週1回半年程度かけて講義動画と演習を終えたため、勉強したことを簡単にまとめてみたいと思います。 なぜ今なのか? 深層学習(Deep Learning)は2000年代後半のRBMやauto-encoderなどの教師なし学習から流行が始まりましたが、それらを教師あり学習の事前学習に使うアプローチは徐々に衰退し、2010年代前半には画像認識のための畳み込みネットワークがImageNetコンテストのおかげで爆発的に有名になりました。詳しくありませんが音声認識の分野でも既存の複雑な

    講義まとめ:自然言語処理のための深層学習(CS224d) - Qiita
  • [WIP] 1-file Chainerを作る - Qiita

    概要 この記事では、Neural NetworkフレームワークであるChainerの最も特徴的なコンセプトである"Define-by-Run"を理解するために、手書き数字の分類を行うためのネットワークの記述・学習に必要な最低限の機能だけを持ったライブラリ"1f-chainer"をNumPyのみを使って実装してみます。数式が登場するような説明は全てAppendixに追いやり、文中ではできるだけコードと文章だけで説明を行うように気をつけて書きました。 記事で用いた全てのコードは以下に置いてあります:1f-chainer。書き始めると色々なことを追記したくなり間に合わなかったので、今週いっぱいを目処に順次更新していきます。 また、この記事の全ての内容は私個人の見解と理解に基づくものであり、所属する組織とは関係ありません。 想定読者 この記事は、Backpropagationを使ったNeura

    [WIP] 1-file Chainerを作る - Qiita
  • [Deprecated] Chainer v1.24.0 ビギナー向けチュートリアル - Qiita

    警告 この記事はすでにサポートが打ち切られているChainer v1の最終リリース(v1.24.0)向けに書かれた笑えないレベルで古すぎる記事です。 2017年12月時点での最新安定版のChainer v3向けに書かれた記事がこちらにありますので、どうしてもv1に入門する必要があるという超特殊事情を抱えた方以外は、今すぐそちらに飛んでください。 Go!! -> Chainer v3 ビギナー向けチュートリアル 第1回 Chainer Beginner's Hands-onを大手町にあるPreferred Networksオフィスの多目的室にて開催いたしました。この記事は、このハンズオンで行った内容を記事化したものです。 ハンズオン当日に使用した資料等は以下のGithubリポジトリにまとめられています。 mitmul/chainer-handson 当日は、さくらインターネット様より4つのP

    [Deprecated] Chainer v1.24.0 ビギナー向けチュートリアル - Qiita
    aidiary
    aidiary 2017/04/30
    Notebookの内容が簡潔にまとまっていて参照に便利!
  • 物体認識用データセット作成支援ツール(Faster R-CNNとかSSDとか) - Qiita

    R−CNNYOLO, SSDなど、画像の”どこ”に”何”があるかを識別するタスクのためのラベル付与を支援するソフトウェアをProcessingで作成しました。 主に個人目的で作ったので、ちゃんとしたUIにはなっていないと感じる方もいらっしゃるかもしれませんが、せっかくなので公開したいと思います。 コードおよび開発環境 以下にコードを載せています。 https://github.com/slowsingle/labeling_for_object_detection MacBookProのProcessing3.3で開発しました。 使用する際には、controlP5ライブラリが必要になります。これはProcessingでGUIのコントローラを作成するのをお手軽にするライブラリです。 以下のサイトが参考になるかと思います。 http://qiita.com/akspect/items/6a5

    物体認識用データセット作成支援ツール(Faster R-CNNとかSSDとか) - Qiita
    aidiary
    aidiary 2017/04/26
  • 新規アプリケーションへの深層学習適用のベストプラクティス - Qiita

    どのようにサービスにディープラーニングを適用すればいいか、ベストプラクティスがまとまっていた論文があったので、訳してみました。 元論文 Best Practices for Applying Deep Learning to Novel Applications Leslie N. Smith https://arxiv.org/ftp/arxiv/papers/1704/1704.01568.pdf アブスト このレポートは、特定のドメインのエキスパートだがディープラーニングに詳しくない人向け ディープラーニングを試してみたいと思っている初心者のための経験的なアドバイス フェイズを分割することで、マネージメントしやすくすることを薦めている 各フェイズごとに、新規学習者へのおススメと知見を含んでいる イントロダクション ディープラーニングの研究してるから、ディープラーニングのアプリケーショ

    新規アプリケーションへの深層学習適用のベストプラクティス - Qiita