タグ

2016年9月30日のブックマーク (26件)

  • GitHub - andy-yx-chen/jraft: Project has been moved

  • 【機械学習】scikit learnでの画像減色プログラム - Qiita

    こんにちは。 林@アイエンターです。 前回のブログでは、Pandasやデータ可視化用のSeabornを導入し、米国自動車株の解析を行いました。 今回は再びscikit-learnにフォーカスして、機械学習のクラスタリングで用いられる「k平均法(k-means)」で画像の減色処理を行ってみます。 また、今回は画像の扱いには「OpenCV」も使ってみることにします。 k平均法での画像減色 k平均法とはWikiに詳細が記載されておりますが、空間上の点群データをk個のグループに分類するアルゴリズムです。 アルゴリズムから、各点がどこのグループに所属するかと、その各グループの重心の座標が算出できます。 今回は画像データから画素ごとのRGBを取得して、3次元空間の点群として考えます。 例えば画像を8色に減色する場合は、点群を8グループに分類します。 その後に各グループに含まれる点(RGB)の値を、重心

    【機械学習】scikit learnでの画像減色プログラム - Qiita
  • DeNAにおけるOpenStack運用#1 | BLOG - DeNA Engineering

    DeNAでシステムインフラを運用しています小野です。 今回から3回に渡って、OpenStackの運用についてご紹介したいと思います。 OpenStackとは OpenStack とは、いわゆるクラウド環境を構築/運用管理するためのOSS platformです。2010年にRack Space社とNASAのjoint projectとして始まり現在ではOpenStack Foundationが管理しています。 OpenStackは多数のOSSで構成されています。mysqlrabbitmqなどお馴染みのOSSもbackendに使われていますが、OpenStack固有のOSSが主要コンポーネントになっています。例えばcomputing(vmやcontainer)の管理をするnova、ネットワークを管理するneutron、WebUIを管理するhorizonなどなどです。 こちら でどういったコン

    DeNAにおけるOpenStack運用#1 | BLOG - DeNA Engineering
  • vectorの指定したiteratorの要素番号を取得する - My Life as a Mock Quant

    これも良く忘れるのでメモん。例えば最大の要素自体はmax_elementで取得できるんだけど、それのindex番号が欲しい時の書き方。iteratorの初めとのdistanceを取ればよい。別に最大要素のiteratorじゃなくても良くて適当なiteratorとのdistanceしてやればいい。 #include <iostream> #include <vector> #include <string> #include <algorithm> int main() { std::vector<int> x; x.push_back(3); x.push_back(8); x.push_back(1); x.push_back(2); std::vector<int>::iterator iter = std::max_element(x.begin(), x.end()); size_

    vectorの指定したiteratorの要素番号を取得する - My Life as a Mock Quant
  • Gitのコミットグラフを可視化できるGitGraph.jsがおもしろい - Qiita

    プレゼン資料を作っている時に「このコミットグラフをMarkdownかテキストで書けたらな」と思ったことがある人、結構いるのではないでしょうか。 GitGraph.js を使うと、JavaScriptで記述したコミットログをcanvasを使って可視化できることを知りました。なかなかおもしろいです。 準備 まず GitGraph.js の JavaScriptCSS ファイルを読み込みます。GitHub からソースをcloneするなり、bowerを使うなり、CDNを使うなり、お好みで。ここではコミットグラフを定義するコードも別ファイル index.js に書くことにします。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>GitGraph.js</title> <link rel="stylesheet" type=

    Gitのコミットグラフを可視化できるGitGraph.jsがおもしろい - Qiita
  • orelang を Java で実装してみた - tokuhirom's blog

    http://qiita.com/shuetsu@github/items/ac21e597265d6bb906dc わりとよくある JSON ベースの lisp っぽいインタープリタの実装ですが、コードを見ていてもよくわからなかったので自分で実装しなおしてみました。 package com.example; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; import com.fasterxml.jackson.databind.ObjectMapper; public class OreLang { HashMap<String, Object> vars = new HashMap<>(); private

  • Master the DOM

    IntroductionMany web developers think the DOM is really difficult (or slow) and you need a huge framework to tame it. Then they invest a lot of their time to learn the framework. A year or two passes, another framework becomes popular and you need to learn everything from scratch. Repeat this a couple more times and JavaScript fatigue is born. Not to mention a huge pile of dependencies. What if I

    Master the DOM
  • 「秋の日はつるべ落とし」をCSS3で再現する - 攻めは飛車角銀桂守りは金銀三枚

    気が付けば9月も終わり10月を迎えます。歳をとるごとに時間の進みがとても速く感じられます。 おそらく明日には100歳くらいになっているんじゃないでしょうか。 「秋の日はつるべ落とし」をCSS3で表現してみる そんな秋を迎えると必ずが言いだす言葉があります。 子供たちに注意を促す意味で「昔から『秋の日はつるべ落とし』と言って急に暗くなるから早く帰ってきいや」と。 「秋の日はつるべ落とし」。 日が落ちる速度は地球の自転の速度なんで変わらないでしょうが、確かに日が暮れるの早くなってきました。 9月だけでも30分以上日の入りが早く以下は2016年の日の入り時刻ですが1ヶ月で30分以上早くなってますね。 日付け 日の入り(東京) 2016/09/01 18:08 2016/09/02 18:07 2016/09/03 18:06 2016/09/04 18:04 2016/09/05 18:03

    「秋の日はつるべ落とし」をCSS3で再現する - 攻めは飛車角銀桂守りは金銀三枚
  • Java仮想マシンの実装技術

    PPLサマースクール2016「商用Java処理系の研究開発」のパート2です. http://ppl.jssst.or.jp/index.php?ss2016 Java言語処理系の実装について詳説する.まずJava仮想マシンの概要について述べ,その主要な構成要素として,クラス管理とインタープリタ,ヒープ管理とガベージコレクション,スレッド管理と同期機構,JITコンパイラとの連携,などについて説明する.性能改善のために行った各種手法についても触れる. 他のパート 1 Javaの登場と発展 http://www.slideshare.net/Tamiya_Onodera/java-66081108 2 Java仮想マシンの実装技術 http://www.slideshare.net/KiyokuniKawachiya/java-66003903 3 Java Just-In-Timeコンパイラの

    Java仮想マシンの実装技術
  • フロントエンドエンジニアのための動画ストリーミング技術基礎

    動画はデータ容量が大きい 画像と違い、動画コンテンツはデータ容量がとても大きいため、データをダウンロードして再生するまでに待ち時間が発生します。 動画のデータ容量が大きい理由はとても単純で、動画は画像データが集合したものだからです。静止画像を人間の目が滑らかに感じられる速さで切り替えて表示することで絵を動かすという表現を実現しています(よくパラパラマンガに例えられますが、そんな感じです)。この人間の目が滑らかに感じる速さというのが 1 秒間に 30 枚だったり 24 枚を切り替えることになります。29.97 (≒30) fps とか 24 fps とかの数字を耳にしたことがあるかと思いますが、24 fps の場合は 1 秒間(s)の間(p)に 24 フレーム(f)を切り替えることを意味します。 データを全て自分の端末にダウンロードしてから再生しようとすると、かなり長い待ち時間が発生してしま

    フロントエンドエンジニアのための動画ストリーミング技術基礎
  • C++ 動的配列クラス std::vector 入門

    動的配列クラス std::vector とは std::vector とは C++ で標準に使用できるとっても便利な動的配列クラスでござるぞ。 通常配列と同じように [] 演算子で値を参照・代入することはもちろん、サイズ情報等の取得やデータの挿入削除なども可能だ。 「動的配列」とは配列サイズを自由に増減できるという意味。「可変長配列」と呼ばれることもある。 通常の配列は非常に便利で使用頻度の高いデータ構造だが、サイズを予め指定する必要があり、実行時に動的にサイズを変更することが出来ない。 例えば、「int data[100]; 」と宣言した場合、実行時にデータ数が100を超えるとお手上げだ。 スネークゲームでは、ヘビの胴体の長さがどんどん長くなるので、 胴体座標を動的配列で実装している。 これを普通の配列で実装すると、胴体の最大長を保持する可能性があるので、78*21=1638 のサイズの

    C++ 動的配列クラス std::vector 入門
  • プログラミングメモ日記 C++のforループの種類ごとの性能比較

    ++11になってforeach文が使えるようになり、for文が非常に書きやすくなりましたが、 フォーマンスのほうはどうなっているのか少々気になったので検証してみました。 今回行った検証は、vectorの全要素探索処理を下記5種類のfor文を使った場合の、各処理 の速度比較です。 ・for文の種類 今回、下記4種類のfor文の速度の比較を行いました size関数+カウンタの加算による探索for (size_t i = 0; i < v.size(); ++i) ...sizeをキャッシュしたカウンタ加算for (size_t s = v.size(), i = 0; i < v.size(); ++i) ...イテレータ 前方++for (vector::iterator i = v.begin(); i != v.end(); ++i) ...イテレータ 後方++for (vector::

  • C++で大規模な配列追記のパフォーマンス - ponkotuyの日記

    はじめに @__boronium による 「じゃあC++はどうなの?」 という疑問にお答えするコーナー。元のPython版はhttp://d.hatena.ne.jp/ponkotuy/20111216/1324021461 でどうぞ。 ちなみにg++4.6.1 -O2 -std=c++0xでコンパイル。 はじめる前に補足 微妙に間違った参考のされ方してたので補足しておくと、こいつはどういう訳か「データの入力が圧倒的に多いのにその殆どは参照すらされずに捨てられる場合」に一番早いコンテナ、という極めて稀なパターンに特化した測定なので、そゆ場合にしかアテになりません。 Vector #include <vector> int main() { const int size = 10000000; std::vector<int> v = {1,2,3}; for(int i=0; i<size

    C++で大規模な配列追記のパフォーマンス - ponkotuyの日記
  • KDD'16 論文採択:省メモリなグラフスケッチのデータ構造 - iwiwiの日記

    国際学会 KDD 2016 に論文が採択されました.KDD はデータマイニング分野の最も有名な会議です.発表は 8 月にサンフランシスコです.オーラル発表有りの採択です. 今回の論文は "Compact and Scalable Graph Neighborhood Sketching" というタイトルで,私が主著であり,研究室で特任技術専門員としてお手伝いしてもらっていた矢野さんとの共著です.内容はグラフ向けデータ構造 All-Distances Sketches の実用上の問題点である空間使用量を大幅に削減するための新しいデータ構造の提案です.以前に「大規模グラフのコンパクトでスケーラブルな全距離スケッチ」というタイトルで人工知能学会の人工知能問題研究会にて議論させて頂いていたものです. 背景:All-Distances Sketches とは? All-Distances Ske

    KDD'16 論文採択:省メモリなグラフスケッチのデータ構造 - iwiwiの日記
  • 焼きなまし法の真実 – システム工房コルン

    はじめに 焼きなまし法はベター山登りなのか? 探索空間は当に高次元なのか? 採択確率式の正当性 メトロポリス・ヘイスティングス法がうまくいく条件 メトロポリス・ヘイスティングス法と温度 おまけ1 … 遷移先候補をどう提案するか? おまけ2 … 温度管理について 終わりに 謝辞 はじめに 著者は、TopCoder Marathon Matchesで世界大会決勝へとアメリカに3度招待された。 その3度ともが、予選では強文脈ゲームによる通過であり、焼きなまし法の使えない問題分類だった。 近年、文脈のない探索の出題が増えてきており、焼きなまし法が正解方針であることが多くなっている。 焼きなまし法へと苦手意識を持った著者であったが、出題の傾向がそうであるのなら避けて通れるものでもなく、焼きなまし法の出題であっても単純な殴り合いで1位をもぎ取れるまでになりたいと2年前に決意して、七転八倒を繰り返しな

  • Bringing Pokémon GO to life on Google Cloud | Google Cloud Blog

    Throughout my career as an engineer, I’ve had a hand in numerous product launches that grew to millions of users. User adoption typically happens gradually over several months, with new features and architectural changes scheduled over relatively long periods of time. Never have I taken part in anything close to the growth that Google Cloud customer Niantic experienced with the launch of Pokémon G

    Bringing Pokémon GO to life on Google Cloud | Google Cloud Blog
  • 日本語翻訳版 StackEdit「Welcome document」

    ようこそ StackEdit へ! こんにちは、StackEdit 内の最初のマークダウン・ドキュメントです。役⽴つ情報が記 載されているので削除しないでください。もし削除した場合でも、 Settings ダイア ログの Utils タブから再度取得できます。 ドキュメント StackEdit ではお使いのブラウザで作成されるすべてのドキュメントを⾃動的にローカ ルに保存し、オフラインでのアクセスを可能にしています! 注意: StackEditは最初にロードされた後もオフラインで利⽤可能なアプリケー ションです。 あなたのローカルドキュメントは別のブラウザまたはコンピュータ間では 共有されません。 お使いのブラウザのデータを消去すると、 すべてのローカルドキュメント が削除されてしまいます! あなたの⽂書が Google Drive または Dropbox に同期( 同期 の項を参照)して

  • クポ速

    Qoo10カテゴリのQoo10 BBIA Official_JPの新着クーポンコードの一覧を随時まとめています。 割引クーポンを見つけた日別にまとめており、記事の上にあるものが最新の割引クーポンになります。 Qoo10(キューテン)のショッ...

    クポ速
  • [ オススメ拡張機能 ] 効率オタクが長年使って本当に厳選した「Chrome拡張機能」まとめ(2020年5月追記)| ヨッセンス

    こんにちは!「効率化オタク」すぎて書籍まで出版したヨス(プロフィールはこちら)です。 わたしがネットを閲覧する「ブラウザ」といえば、完全にGoogle Chrome派で、登場した当初から使っています。 Google Chromeを好んでいる理由はいろいろありますが、拡張機能の便利さが一番の理由でしょう。 そんなGoogle Chromeの超・ヘビーユーザーであるわたしがどんな拡張機能を使っているか気になりませんか? 記事では、わたしが実際に使って心の底からオススメできる拡張機能だけを紹介します。 状況が変わりしだい、随時更新していきます! 「新規タブ」を自分好みに改造できる拡張機能 Google Chromeで新しいタブを開くというシチュエーションがよくありますよね。 ところが、初期の状態だと「新規タブページ」が不便なのです。 そこで、拡張機能「Speed Dial 2」を導入すれば、新

    [ オススメ拡張機能 ] 効率オタクが長年使って本当に厳選した「Chrome拡張機能」まとめ(2020年5月追記)| ヨッセンス
  • modified char_splitter to support UTF-8 (implements #299) by kmaehashi · Pull Request #304 · jubatus/jubatus_core

  • Ubuntuで人工知能・機械学習(TensorFlow、Caffe)を試す環境を作るansible playbookを作りました。 - Qiita

    Ubuntuで人工知能機械学習(TensorFlow、Caffe)を試す環境を作るansible playbookを作りました。Ubuntu機械学習AnsibleCaffeTensorFlow Ubuntuで人工知能機械学習(TensorFlow、Caffe)を試す環境を作るansible playbookを作りました。 TensorFlowはともかく、Caffeは設定も少々あったりで時間がかかるので すぐに実行環境を作れるようにansibleで書きました。 今後他の機械学習フレームワークの追加とMac対応をする予定です。 参考 https://www.amazon.co.jp/dp/B01LXSSR7X/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 --- - name: 基パッケージをインストール apt: name={{item}}

    Ubuntuで人工知能・機械学習(TensorFlow、Caffe)を試す環境を作るansible playbookを作りました。 - Qiita
  • LJの力計算を組み込み関数で書いてみる - Qiita

    はじめに LJの力計算をフルアセンブラで書いてみるの続き。 思想 フルアセンブラでループ内SIMD化してみたのはいいけど、それでループアンロールとかやりたくない。intrinsicで書けばコンパイラがやってくれないかと期待。 計算環境 Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz icpc (ICC) 16.0.3 g++ (GCC) 4.8.5 コード 長いが全部載せる。それぞれ以下の通り。 calc_intrin intrinsicで書き下したSIMDコード calc_asm アセンブラで書いたコード check ナイーブに書いたコード (icpc向け) check_opt 内側のループで余計なロード/ストアをしなくて良いように明示的に指定したコード (g++向け) //---------------------------------------

    LJの力計算を組み込み関数で書いてみる - Qiita
  • C++コマンドライン引数パーサを作った - Qiita

    C++製コマンドライン引数パーサcolaを作りました。 自分用記録の面もあり、公開してみます。 目的 自作のコマンドにオプションを定義したい 色々な環境で書き換えることなく使いたい C++11に対応していないコンパイラでも使いたい getoptはちょっと使いづらい boost::program_options、gflagsみたいなのは気軽感がない cmdlineはシングルヘッダでいい感じだけど、<cxxabi.h>など若干ポータビリティに欠ける 一つのオプションで複数の値(配列)を受け取れると個人的に嬉しい ので、勉強も兼ねて自分で作ることにしました。パブリックドメインにするので好きにしてください。 特徴 シングルヘッダのみで完結 パブリックドメイン C++98の標準機能のみで記述 なぜ今時C++98かというと、僕が以前使っていたマシンのコンパイラが古く、システムなどの問題で新しいコンパイ

    C++コマンドライン引数パーサを作った - Qiita
  • ラッパークラス開発で学ぶ実践C++ その1 準備 - Qiita

    このドキュメントは連載の初回です。 > その1 準備 その2 クラスでリソース管理 その3 メンバ変数を隠蔽せよ その4 エラー対策 その5 より安全なクラス その6 型安全をテンプレートで その7 巣立ちの時 はじめに C++で古代のAPI 1 のラッパークラス2を開発します。 その流れの中で、 C++ のうれしさや基作法を紹介しつつ、クラスの作り方を学んでみよう、という企画です。 言っても、C++11以降を使わ(え)ないので、せいぜい中世くらいまでしかフォローできません。 一応対象は C++ 初級者~ですが、言葉足らずなので全くの初心者はついてこれないかもしれません。 教科書でC++勉強してみたけど、実戦でどう使えばいいかイマイチピンとこない。 今でも C を使っているけど当はC++が気になっている。 教科書で勉強するより、体で覚えるほうが好き。 という方のお役に立てるかもしれませ

    ラッパークラス開発で学ぶ実践C++ その1 準備 - Qiita
  • Eigenで巨大なSparseMatrix(疎行列)を作る方法 - Qiita

    Eigenは、C++で行列計算をとても簡単に行える便利なテンプレートライブラリです。 要素に零が多い場合は、メモリ節約のためにSparseMatrixを使います。 特に巨大なスパースマトリックスを作る場合は、以下のようにしてテンプレートにIndexの型を指定する必要がありました。 SparseMatrix<float, Eigen::RowMajor, int64_t> smat(max_term_id, max_doc_id); limit: eigen-3.3-rc1/Eigen/src/SparseCore/SparseMatrix.h:387: Eigen::SparseMatrix<_Scalar, _Flags, _StorageIndex>::Scalar& Eigen::SparseMatrix<_Scalar, _Flags, _StorageIndex>::insert

    Eigenで巨大なSparseMatrix(疎行列)を作る方法 - Qiita
  • Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜

    cvpaper.challengeはコンピュータビジョン分野の今を映し、トレンドを創り出す挑戦です。論文サマリ・アイディア考案・議論・実装・論文投稿に取り組み、凡ゆる知識を共有しています。 http://xpaperchallenge.org/cv/ 資料はViEW2021チュートリアルセッション「最新研究の始め方」のプレゼン素材です。また、xpaper.challengeの2020年末ワークショップとしてプレゼンした「研究効率化Tips」の拡張版です。資料では3社12研究室300ページにわたるノウハウの詰め合わせです。 VIEW2021のチュートリアルセッションでは時間の制限があるため、こちらの資料から一部抜粋して発表を行うことになりますが、VIEW2021チュートリアルセッションの方にも足を運んでいただければ幸いです。 VIEW2021チュートリアルセッション:http://vie

    Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜