タグ

2017年4月21日のブックマーク (22件)

  • 画像の特徴点を抽出する - Qiita

    いろいろな画像を見比べて、「あの画像に写ってるのアレは、この画像に写ってるコレと同じかな?」なんてことを、機械的にやるとしたら、という話。 OpenCVに頼る 難しいことは考えないで、OpenCVに頼る。自分で考えるよりも、世界中の賢い人々が考えてくれた成果物を利用するべきなのだ。 というわけで、早速、 OpenCV: Feature Detection and Descriptionを参照して、お勉強を始める。 画像を用意する 適当な著作権フリーっぽい画像もないし、自分で撮影するのも面倒なので、今回は以下の画像を適当に作った。 このutsu1.png(游明朝)と、utsu2.png(ヒラギノ角ゴシック)を使うことにする。 特徴点の抽出 まずは、http://docs.opencv.org/master/da/df5/tutorial_py_sift_intro.html に従い、utsu

    画像の特徴点を抽出する - Qiita
  • Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換

    Koichi HamadaSenior Staff Research Engineer, Artificial Intelligence at DeNA

    Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
  • モバイルアプリアーキテクチャ勉強会 - Qiita

    public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(msg, "The onCreate() event"); } } つまり M-VC iOS も Android も View と Controller がまとめられてる M-VC なコードになる Model, ViewController という関係性 テストがかけない... だから設計談義が盛り上がる アーキテクチャを導入する目的 保守性の高いコード FatController にしない テストのかきやすい構成へ 考え

    モバイルアプリアーキテクチャ勉強会 - Qiita
  • [Linux][awk] awkでログ集計(合計, 平均) - Qiita

    A 1.1 funcA1() B 1.2 funcB1() C 1.3 funcC1() A 2.4 funcA2() B 2.5 funcB2() C 2.6 funcC2()

    [Linux][awk] awkでログ集計(合計, 平均) - Qiita
  • C++プログラマのレベル10

    レベル0 C++とかいう、Cにヘンテコな機能を付け加えた言語があることはしっているが、ワケ分からんので勉強する気にならない。 Cの何が不足なのか分からない。 C++についてググったり、入門書を読んだりしてみる。文法はCに後から無理やり付け加えた感じだ。 でも文法がわかりにくすぎる。 レベル2 vectorとか便利すぎて涙がでる。もういちいちrealloc()を呼び出さなくてもいいんだ。でもイテレーターとかいうのが、ワケ分からんので、ポインタを使っている。 構造体の中に関数を書けるのは便利かもしれない。すくなくとも、わざわざ構造体のポインタを引数に渡さなくてもいいわけだ。 レベル3 テンプレートが分からなくて挫折中。テンプレートがわかれば、STLがもっと分かるようになる気がする。でも、いい参考書が見つからない。 継承とか仮想関数も便利だと気がつく。namespaceも地味に便利だ。 レベル4

  • [Python]CIFAR-10, CIFAR-100のデータを読み込む方法 - Qiita

    CIFAR-10, CIFAR-100はラベル付されたサイズが32x32のカラー画像8000万枚のデータセットです。 データ提供先よりデータをダウンロードする。 https://www.cs.toronto.edu/~kriz/cifar.html 「CIFAR-10 python version」、「CIFAR-100 python version」からダウンロードして、適当な場所に解凍する import cPickle import numpy as np import os def unpickle(file): fo = open(file, 'rb') dict = cPickle.load(fo) fo.close() return dict def conv_data2image(data): return np.rollaxis(data.reshape((3,32,32)

    [Python]CIFAR-10, CIFAR-100のデータを読み込む方法 - Qiita
  • Chainer:初期勾配を与えたら配列でも微分できた | Webシステム開発/教育ソリューションのタイムインターメディア

    前回、変数を配列にしたらエラーがでてしまった。 それで、やはりマニュアル、イントロなどを読まねばと非常にまともなことを考えて読み始めた。 Introduction to Chainerの中のForward/Backward Computationに、配列を与えた場合の微分の例が見つかった。 こういうときは、初期勾配(全要素が1.0)を用意してからbackward()をやらないといけないらしい。 それで、このように変更してみた。 >>> y = F.sin(x) >>> y.grad = np.ones(21,dtype=np.float16) # 追加, 勾配の初期化 >>> y.backward() >>> x.grad array([ -1.00000000e+00, -9.51171875e-01, -8.09082031e-01, -5.87890625e-01, -3.08837

    Chainer:初期勾配を与えたら配列でも微分できた | Webシステム開発/教育ソリューションのタイムインターメディア
  • Chainer:変数に配列を与えて微分してみよう | Webシステム開発/教育ソリューションのタイムインターメディア

    前回、特定の値に対する微分係数を求めた。 式で書けば, 関数 f(x) に 対して x=a のときの微分係数 f'(a) を求めた。 そのとき、 x = Variable(np.array([5.0],dtype=np.float16)) として変数xを用意したのだが、np.array([5.0])で、スカラーを要素数1個の配列でわざわざ与えた。 ということは、配列に対しても、そのまま動くのではないだろうか。 ということで、 sin(x) を -np.pi <= x <= np.pi の区間内の複数の点に対して一気に計算してみよう。 まず、配列の生成を確認。 >>> np.array(np.linspace(-np.pi, np.pi, 21)) array([-3.14159265, -2.82743339, -2.51327412, -2.19911486, -1.88495559,

    Chainer:変数に配列を与えて微分してみよう | Webシステム開発/教育ソリューションのタイムインターメディア
  • 待ち行列理論 その4 - Qiita

    渋滞学というある種の待ち行列理論の応用について説明をしようと思う。 渋滞学とは 上記リンク先のでは渋滞を「ある条件下で動作する排除体積効果を持つ個体からなる集団がある密度を超えたときに発生する状態」としている。これはつまり「ある条件を基に動作する個体が各々重なる(複数の個体が同一空間を占有する)ことなく存在する集団においてある一定の密度(臨界密度)を超える密度になった時に発生する特異な現象のこと」となる。おそらくまだ何を言っているのかわからないと思うので車を例にして説明する。その前提として個体=車、集団=車のみからなる一列であることに注意する。すると渋滞とは「前方が開いているときに前方に進むルールの下で進車がある交通密度を超えたときに発生する現象で、多くの車が前方に進むのが難しくなったり法定速度より著しく遅い速度でしか走ることができなかったりといったような特異的な状況」のことである。 今

    待ち行列理論 その4 - Qiita
  • ReactのプロジェクトをElectron化する。 - Qiita

    前書き Reactが登場したおかげで、フロント業界に革命が起きました。 Webだけでなく、アプリもReactでかける時代です。 そして、Electronの登場により、Webのアプリをそのままデスクトップ化することが可能になりました! 今回は、Reactで作ったプロジェクトをElectron化する方法について解説して行きます。 利用技術 React v15.4.2 Electron v1.6.2 webpack v2.3.3 ReactTodo 今回は、Reactの勉強で作成したReactTodoをElectron化して デスクトップ上で動かせるようにしてゆきます。 (Semanticで作った、とてもシンプルなTodoです。) 以下からCloneできますので、よければお試しください。 https://github.com/gcmae/react-todo.git 手順 今回の、設定の肝として

    ReactのプロジェクトをElectron化する。 - Qiita
  • クラスタリング手法のクラスタリング - Qiita

    はじめに クラスタリングについて調べてみると,割りと無責任に scikit-learn がーとか機械学習がーとか語っているページがとても多かったので, なぜ,クラスタリングを行うのかとその注意点 クラスタリングにはどのような分類があるのか それぞれの手法の長所と短所,なぜその手法を使うのか 具体的なライブラリの選択 という観点からまとめてみました. プログラマかつ数学弱者なので,深く込み入った数学的な沼については語ることが出来ません. また,具体的なライブラリとして,Python の Scipy や scikit-learn を用います. 基的に引用が多い記事なので,下記の参考ページを一読していただきたいです.また,引用元の著者さんで,引用を外していただきたい場合はご連絡ください.すぐに対応します. クラスタリングを行う理由と注意点 クラスタリングとは そもそも機械学習の手法は大きく分け

    クラスタリング手法のクラスタリング - Qiita
  • サーバー監視ツール netdata - Qiita

    Mastodon のインスタンスで使ってるところがあったのでさっそく真似る。 検証環境 CentOS 7.3.1611 Mastodon を CentOS にインストールする (Docker未使用) で構築したサーバー インストール yum install PyYAML autoconf automake {libmnl,libuuid}-devel lm_sensors nmap-ncat python-psycopg2 git clone https://github.com/firehol/netdata.git --depth=1 cd netdata && ./netdata-installer.sh firewall-cmd --permanent --add-port=19999/tcp && firewall-cmd --reload - the daemon at /us

    サーバー監視ツール netdata - Qiita
  • 「サーバが出来ていない? 俺なら3分でモックを用意できるよ。」というために。 - Qiita

    はじめに フロントエンドを作っていたり他サーバと連携するバックエンドを作っていると、対向サーバが出来るまでダミーのモックサーバが欲しくなりますよね。 適当に固定のダミーデータを返すだけで良いのですが、来の開発以外のところに工数を取られるのは嫌なものです。 探してみると色々なモックサーバがあるのですが、好みに合うものが見つからなかったので作ってみました。 欲しかった機能: レスポンスヘッダを設定できる。 レスポンスを簡単に切り替えることが出来る。 リクエスト、レスポンスの内容を確認することができる。 (あると嬉しい) リクエスト内容によってレスポンスを切り替えることが出来る。 instant-mock 使い方 作ったモックサーバはこちらです。 https://github.com/arenahito/instant-mock 細かい説明は後にして、まずは動かしてみます。 Node.js 製

    「サーバが出来ていない? 俺なら3分でモックを用意できるよ。」というために。 - Qiita
  • 手のひらサイズのディープラーニング開発環境が提供開始

    LeapMindは4月20日、エッジコンピューティング向けディープラーニング開発環境「Blackstar(ブラックスター)SDK」を発表した。提供開始は8月を予定している。 ディープラーニングのような巨大プログラムの開発には、GPUなどの大規模リソースが必要とされている。Blackstar SDKはニューラルネットワークをハードウェア用に最適化し、独自開発したアルゴリズムをチップへ実装したディープラーニング開発環境。手のひらサイズの小型計算処理装置に搭載することを前提としており、GPUより省電力でPCI-Expressの広帯域なインターフェースが必要ないため、ドローンなどのデバイスでも搭載が可能。 エッジコンピューティングを、CPUFPGAやカスタムチップのIPなど、ハードウェアで実現する。またWi-Fi接続にも対応する。 同社が提供予定のプラットフォーム「JUIZ」のアプリケーションス

    手のひらサイズのディープラーニング開発環境が提供開始
  • TensorFlowでひらがな・漢字文字認識

    TensorFlowを使ってひらがな+漢字の文字認識を行うプログラムを試してみた。 TensorFlowでのMNIST学習結果を、実際に手書きして試す - すぎゃーんメモがTensorFlowのサンプルで構築するニューラルネットワークに対してインタラクティブに書いた文字を認識させる、ということをしているので、これをベースにさせてもらった。 学習使用したデータは手書教育漢字データベースETL8で、ひらがな75文字+漢字881の合計956文字を160セット分。白黒2値イメージは64x63の解像度。 ニューラルネットワークの構成はDeep MNISTのまま、5x5の畳み込み+最大プーリングを2段、それぞれ32と64フィーチャーを抽出、全結合層で1024次元にしてドロップアウト、最終的にソフトマックスで956次元を出力。 元画像データをMNISTにあわせて28x28にリサイズ。訓練用150、テスト

    TensorFlowでひらがな・漢字文字認識
  • 列指向データベースのページのデータ構造 - ablog

    行指向データベースは行単位でページ(Oracle Database でいうデータブロック)にデータを格納しているのに対して、列指向データベースは列ごとにページに格納している。クエリ実行時に結果セットを返す際に列別にバラバラのページに格納されているデータをどうやってタプル(レコード)に復元している*1のかと思ったがやはり行IDのようなものを持っているようだ。 行ID は C-Store では pid、MonetDB では BAT(Binary Association Tables) の oid と呼ばれている。 The Design and Implementation of Modern Column-Oriented Database Systems NSM(N-ary Storage Model): 行方向でブロック(ページ)にデータを格納する方式 DSM(Decomposition

    列指向データベースのページのデータ構造 - ablog
  • pythonのdoctestとcoverageでコメントの説明の十分性を簡易確認 - 千里霧中

    pythonでは、ドキュメントとして書かれたコメントと、実際の動作が一致するか確認する手段として、doctestを標準で提供しています。 題材として、大まかな動作の説明をdocstringに書いた、以下のhoge()という簡単なメソッドを扱います。 # coding:utf-8 # sample.py import re def hoge(line): ''' 指定した文字列から定数名の定義を抽出する # (1)プリプロセッサのマクロ定義名を抽出する >>> from sample import hoge >>> hoge('#define PREPRO_MACRO 33') 'PREPRO_MACRO' # (2)const変数の名前を抽出する >>> hoge('const int const_variable_name = 33;') 'const_variable_name' ''

    pythonのdoctestとcoverageでコメントの説明の十分性を簡易確認 - 千里霧中
  • Moby で LinuxKit を起動してみる - Qiita

    DockerCon 2017 で発表された Moby プロジェクト を利用して LinuxKit が動作するところまでを確認します。 もともと使われている意味の Moby Docker 社のロゴにもなっている、このクジラの愛称1。 (https://blog.docker.com/2015/06/winners-dockercon-2015-contests/ より拝借) 最近チラ見せしていた Moby OS Alpine Linux ベースの軽量 OS。Docker for Mac の記事でよく Message of The Day のアスキーアートとともに紹介されていますが ## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ \___

    Moby で LinuxKit を起動してみる - Qiita
  • GKE/Kubernetes の Service はどう動いているのか

    2017/04/20 Kubernetes Meetup Tokyo #4

    GKE/Kubernetes の Service はどう動いているのか
  • JShellで読み進める「Java本格入門」 - Challenge Engineer Life !

    4/18に発売された「Java格入門」を買いました(^^) 発売にあたってのAcroquestさんブログエントリはこちら。 acro-engineer.hatenablog.com 編集の方の「『35歳からのJava再入門』が裏テーマです」が個人的にメッチャ刺さりましたw 類書は数多くあるJavaですが、「プログラミング未経験者向けの入門書」ばかりで、かといって名著『Effective Java』にいきなりいくには敷居が低くしかも内容が古い……という現状を鑑みた内容です Java格入門https://t.co/nl5OqX7fID— 傳智之 (@dentomo) 2017年3月23日 ということで、もうすぐ37となる自分ですが…改めて初心に帰って再入門していこうと思います。 で、書籍はJava SE 8が前提なのですが、ふと以下の記事で書かれていた話(REPLツールを使うことにより、

    JShellで読み進める「Java本格入門」 - Challenge Engineer Life !
  • 物理のいらない量子アニーリング入門 - Platinum Data Blog by BrainPad

    当社の社員が物理を専門としない人向けに量子アニーリングについて解説します! こんにちは、A.I.開発部の太田です。 今回は量子アニーリングの簡単なシミュレータを作ってみたり、実際のD-Waveを使ってみた経験から、物理を専門としない人向けに量子アニーリングについて解説しようと思います。 (シミュレータのコードはgithubで公開しています。私自身、量子アニーリングについては最近勉強し始めたところなので、色々ご指摘いただけると幸いです。) さて、私の所属する部署の役割として、機械学習人工知能関連の技術調査や社内への展開を行っており、その一環として昨年12月に早稲田大学の田中先生をお呼びして開催した量子アニーリング勉強会が社内で大変好評でした。 昨年度は量子アニーリングに関する一般書籍が発売されたり、科学雑誌「Newton」でも特集されており、物理学者以外の一般の方にも、量子アニーリングが認

    物理のいらない量子アニーリング入門 - Platinum Data Blog by BrainPad
  • Dockerの本番運用 | POSTD

    以前に私が書いた「 Docker番運用:失敗の歴史) 」という記事は、非常に多くの反響を呼びました。 その後、長い議論を交わして、何百件ものフィードバックや何千件ものコメントを読み、さまざまな人々や主要事業者とも顔を合わせました。Dockerでの試みが増えるほど、その失敗談は増えていきます。そうした現状を、今回アップデートしておきたいと思います。 この記事では、最近の交流や記事から得た教訓を紹介しますが、その前に簡単におさらいをして軽く背景を説明しましょう。 免責事項:対象読者 たくさんのコメントから、世の中には10種類の人々が存在するということが明らかになりました。 1) アマチュア 実際のユーザがいない試用版のプロジェクトやサイドプロジェクトを実行している人々です。Ubuntuのベータ版を使用するのが当然だと考えており、「安定したもの」は古いものと見なすようなタイプです。 注釈:書

    Dockerの本番運用 | POSTD