Webデザイナーでブロガーな個人事業主”リンゴ”が、【個人事業主・起業家のブログとHPでの発信&集客】【Apple中心にPC&ガジェット】【ワークスタイル】の情報を発信するブログ
この記事は Fujitsu extended Advent Calendar 2016 の 25 日目の記事です。 記事は全て個人の見解です。会社・組織を代表するものではありません。 この記事では Linux カーネルの機能の一つである、KernelAddressSanitizer (KASan) の紹介、および、機能を実際に使った結果を紹介します。 はじめに カーネルやモジュールにおいて、厄介なバグの一つにメモリ破壊があります。メモリ破壊が厄介なのは、破壊されたことはログやメモリダンプ等からわかりますが、破壊したことの証拠が残らないケースが殆どなことです。なので、ひたすらソース解析や、printkやトレースを仕込んでバグを探す・・・という苦行を繰り返す必要があります。 KASan は Linux 4.0 から導入されており、厄介なメモリ破壊につながる以下のバグを検出する手助けをしてくれま
1.ディストリ配布先からISOイメージをDLしてくる 2.下記コマンドでisoからdmgイメージに変換 $ hdiutil convert -format UDRW -o converted-dst-image source-dst-image.iso -oオプションの後が出力ファイル名。拡張子は指定不要で.dmgが自動的に付与される。
機械学習用語としての「次元削減(Dimensionality Reduction)」について、「次元削減という言葉を初めて聞いた」という程度の方を対象に、次元削減の目的・方法から、どんな方法で実現するのかという話までを説明する記事です。 なお、いろいろと日本語訳にブレがあるようですが、「次元削減」で通します。 本記事は、courseraで提供されているAndrew Ng氏の機械学習講義の内容を参考に、「次元削減」に関して説明するものです。 また、本記事では、「次元削減」の手法として、主成分分析(PCA:Principal Component Analysis)を取り上げます。 次元削減とは? 「次元削減」とは、文字通り、データの次元数を減らすことです。 ここでいう「次元数」は、データセットのフィーチャーの数と言い換えることができます。 以下に次元削減の例を示します。 上図上は身長と体重の関
概要 近年,DeepLearningに代表されるニューラルネットワーク関連技術の発展が目覚ましい.今まで,過学習により十分な精度が出なかったニューラルネットワークがHintonらのDropLearningやAutoEncoderなどの手法で,汎化能力を損なわぬまま,高い制度の学習能力を獲得することができるようになった.また,近年のGPGPUの発展やTensorflow等のライブラリの整備により,大規模なニューラルネットワークの学習も比較的容易にできるようになった. その一方で,ニューラルネットワークの学習手法には多くの関心が払われる中,それらのニューラルネットワーク自体の階層構造や,パーセプトロンの個数に関する議論というものは,あまり行われていない.近年ではLSTMやCNN等応用したニューラルネットワークの存在も見られるが,実際にそれらの精度を高めるための設計指針については,職人芸を要する
再帰的なアルゴリズムの考え方に慣れるためにいくつかの有名な例を集めた。それぞれについてサンプルコードと「問題を小さくする方法」「終了条件」を記している。 注意事項: アルゴリズムの細かい効率よりも、論理の分かりやすさに重点を置いている 問題の前提に沿わない入力(例えば負の整数や小数)のチェックは省いている 再帰的なデータ構造や再帰を除去する方法については扱わない サンプルコードはRubyで書いている 基本的な再帰 階乗 nの階乗とは n! = 1*2*...*n という計算のこと。例えば「n人が一列に並ぶ方法の総数」を表せる。 「1からnまでの整数の積」と言われたらfor文などのループで書きたくなるが、再帰的な計算もできる。
あけましておめでとうございます。 新年早々ですが、先生、みなさんに言いたいことがあります。 pythonコードで、if __name__ == '__main__'の下にコードをダラダラと書く人、挙手しなさい。 こんな感じに、if __name__ == '__main__'の下にコードを書く人です。 #! usr/bin/python # -*- coding: utf-8 -*- from __future__ import unicode_literals, print_function, absolute_import import sys def say_args(kind, data_list): print("kind:", kind, " data:", data_list) if __name__ == '__main__': args = sys.argv[1:] as
ペンタブでMathに数式を書く $\TeX$ に変換 ペースト 以上の方法で僕は手書きの数式をデジタルで保存しています. なぜ数学のノート1をデジタル化したいのか 分散しがちな様々な分野の手書きのメモやノートを一元化したい. 試した過程 そこで,デジタルにして管理しようと考えました. しかし $\TeX$ で書くと集中力が途切れがちでした. 手書きの数式を改めて $\TeX$ にするのも,数学をするという本来の目的からすると時間のムダに思えました. そこでまずは $\TeX$ 表記は諦め,iPad発売当初(2010年),スタイラスを使いました. しかしあまり良いアプリが無く,書きづらかったり,不安定だったりで結局は手書きのノートに戻っていました. 当時の画像です. 次に,ページを入れ替えられるという機能でルーズリーフを使っていました. しかし,数式以外の文字はキーボード入力の方が速く,綺麗
株式会社キカガク 機械学習や人工知能の教育サービスを提供 フォローお待ちしております ビジネス目線の機械学習・人工知能の情報やオススメの参考書について発信しています。 代表取締役社長 吉崎 亮介 Twitter:@yoshizaki_kkgk Facebook:@ryosuke.yoshizaki Blog:キカガク代表のブログ 完成イメージ 今回は、「画像からテキストを認識する」といった解析を前提とします。 ただし、これは一例であり、ご紹介するプログラムをうまくカスタマイズしていただければ、色々なパターンに適用可能です。 「百聞は一見にしかず」 まずは完成イメージを御覧ください。 手作業によるラベル付け まずは、最終的に出来上がる動作サンプルをご覧ください。 前処理として行うことは以下の通りです。 1.切り取りたい範囲の座標をクリックで選択 2.対応するテキストを書き込みラベル付け ラベ
2016年も終わりを迎えそうなので、今年のお買い物の中でも特に満足度の高かったものを選んでみました。例によってカメラ系多めです。 カメラ Osmo Mobile 【国内正規品】 DJI OSMO Mobile (3軸手持ちジンバル) 出版社/メーカー: DJI メディア: スポーツ用品 この商品を含むブログを見る 状況です#dji #osmo #osmomobile #iphone7plus 今年のMVPはOsmo Mobileと言っていいほど、とにかく満足度の高い一品でした。スマホを差し込むジンバルとして、旅行中の動画撮影にとてつもなく役立ってくれました。ジンバルにカメラが付いてるOsmo+とどっちにしようか悩み、稼働時間の長さ(Osmo+は100分、Osmo Mobileは4.5時間)からOsmo Mobileに決めたのですが、自分にとってはこちらが正解でした。 Osmo Mobile
プログラミング言語Pythonを使って, Webアプリを簡単に作れるMVCフレームワーク「Django」(ジャンゴ)。 その使い方を,入門段階から独学で習得できるYoutube動画をまとめた。 thenewbostonさんによる「Django Tutorials for Beginners」 sentdexさんによる「Django Web Development with Python」 Mike Hibbertさんによる「Python Django Tutorials」 thenewbostonさんによる「Django Tutorials for Beginners」 聞きやすい英語,画面を拡大しながらの説明。 1回の動画の長さは,数分~10分ほど。 インストール方法から始めて,REST APIまで。顔出しなし。 最終更新日: 2016/04/07 1. Django Tutorial
クックパッドで働くのは4年目、社会人としては2年目になった。2015年にやったことと同じフォーマットでまとめておく。 発表 今年は6本発表した。去年RubyKaigi前後にいろいろ集中してて死にかけたので、2か月に1回というのが僕にとってはちょうど良いペースだと思う。 RubyConf 2016 今年は海外のカンファレンスで登壇してきたというのが一番大きいと思う。英語は一応どうにかなったけど、うまい表現ができずもどかしいことがあるのでもうちょっとマシにしたい。あとこの成果で初めてクックパッドの業務にmrubyが導入されたように思う。 RubyKaigi 2016 100%クックパッドの業務時間で作ったOSSを題材に、今年は1人でRubyKaigiに登壇した。Barbeque自体はまだまだ改善点があるものの、ECSを活用してジョブ単位のオートスケールができ、マルチテナントで運用コストが低いシ
GitHub contributions グラフを続けるのも4年目に入っていて,来年も無理しない程度に続けて行こうかなぁと思ってます.今年は中盤あたりイマイチだったけど後半結構時間ができたので例年通りぐらいになりました. 今年もぼちぼち使っているツールのためのプラグインとか,ほしいアプリとかで新しく色々つくった気がするのでまとめてみました. crdoc: Crystal のドキュメントをコマンドラインから引けるコマンドラインツール ask-on-exception: 例外が出た時に自動的に例外のメッセージで StackOverflow を検索してくれるネタモジュール devdocs.vim: devdocs.io を Vim から直接引ける Vim プラグイン vim-wasm: WebAssembly のテキスト形式 wasm の Vim ファイルタイププラグイン subvim: Vim
この記事はMCC Advent Calendar 2016 15日目の記事です.ICPC向けの複素数演算による幾何ライブラリの実装について話します. MCC Advent Calendar 2016 - Adventar 遅れてすいません... 背景 ICPCでは幾何の問題が出てきます. ただし,ICPCでは電子的な事前準備の禁止と標準ライブラリしか使えない制約があります. このため,標準ライブラリ縛りで幾何に必要な関数を一から実装する必要があります. しかし,事前準備なしで幾何に必要な関数を実装するのは大変なことであり,多くのチームは紙媒体でライブラリを用意していると思います. 幾何に必要な関数を一から実装するとコード量も膨大になりがちです. そこで,複素数演算を活用することで実装量を減らすことができます. (ただし,2D限定です.あと,事実だけを淡々と書いていきます.) ベクトル 2次
yarn とりあえず yarn install と yarn start だけで動く npm(yarn) scripts babel/webpack での多段ビルド build:js はChromeでだけで動くビルドを吐く(デバッグを容易にするため) build:js:production はIE11+ ava/nyc/istanbul でテストとカバレッジ postcssでCSSのビルド uglify-js/csswring で圧縮 CircleCI eslint, flow, ava release ブランチに push で gh-pages にデプロイ ## やってないこと React も Angular も jQuery も何も入ってない。あくまでそれ以前にやることをまとめた。 参考になるだろうけど、人によっては使わないツールも多いと思われるので、適当に削ってください。 こういうの
ansible-inventory-grapherというツールを使って、Ansibleのもつインベントリとvarsの依存関係を可視化していきます。 可視化することで、例えば以下のようなイメージで、インベントリとvarsの依存関係を理解できるようになります。 可視化の重要性 みなさん、Ansibleを活用していますか? Ansibleはインフラ構成管理にも有用なツールである反面、「お手軽に使う」ところから「本気で使う」ところでは、様々な見直しを迫られると思います。これまでは1つのPlaybookに直書きしていたものが、roleを分割して管理したり、インベントリも親子関係をもたせたり…などです。すると、これまでは簡単に把握できていたものが、いつの間にかカオスになっていき、依存関係を把握できなくなっていきます。 依存関係を簡単に把握するにはどうすればよいか?そう、可視化です。可視化することで、い
この記事は Retty Advent Calendar 18日目です。 昨日は@YutaSakataのクリスマスプレゼントにはKotlin1.1が欲しいですでした。 さて、もうすぐクリスマスですが、皆さん一緒に過ごすお相手はおられますか? 私?私はもちろんいます。この子が。 独りだと酒でも飲みに行きたくなりますよね?ちょっと奮発していい店でしっとり飲むのもいいものです。 ですが、そんなつもりで入った店がリア充どもの巣窟だったらどうでしょう? せっかくの孤独のグルメタイムが台無しです。 そんな危険な店を事前に避けるため、Deep Learningの力をかりましょう。 用意するもの keras お店の口コミ kerasはtensorflowかtheanoをバックエンドにして動くDeep Learning用のライブラリです。複雑なことをしようとすると結構面倒ですが、大抵のモデルについてはかなり簡
長いので太字で要点 絞るためにGPU、仮想関係は省いてます。 NWが長くなったので分割 http://qiita.com/bringer1092/items/b6cd96a7f7db7121e8a7 I/Oが長くなったので分割 http://qiita.com/bringer1092/items/4a62ec6ab62b896ab611 ハードウェアサポート 4.6 USB 3.1 SuperSpeedPlus (10 Gbps) support USB3.1のサポート SuperSpeedPlus (10 Gbps)サポート 4.12 USB Type-C support USB Type-Cのサポート Type-Cについて調べるとUSB PD(最大100Wの電力)規格、映像出力用に対応 セキュリティ周り 何を載せるか粒度が人によって大きく異るが 3.11 New O_TMPFILE o
事前知識 テンソルで理解しておくべきことは意外と少ない 畳み込みとは 畳み込み 畳み込みニューラルネット 畳み込みニューラルネットの畳み込み処理 空間フィルタ 畳み込み層 RGB画像を扱う場合 畳み込み層まとめ 分類の方法について プーリング層 活性化関数 全体のまとめ 事前知識 テンソルで理解しておくべきことは意外と少ない 畳み込みニューラルネットワークでは非常にたくさんの添字が現れます。 しかし決して難しいものではありません。実はとてもシンプルな処理を繰り返しているだけです。そのことを理解するためには、テンソルの概念を知っておくと便利です。 言葉が聞き慣れないだけで全く難しくありません。 テンソルのインターネットで検索すると何やら難しい話が出てきます。 以下はWikipediaの引用です(読む必要ありません。テンソルって聞くとこんな話が出てきますが、気にしないでくださいということが言い
パース元の文字列sとcomplex64またはcomplex128に変換するか判断するために使うbitSizeを渡し、complex128の値とエラーを返します。 細かい実装は後で考えることにして、まずはParseComplex関数を書いてみましょう。 func ParseComplex(s string, bitSize int) (complex128, error) { expr, err := parser.ParseExpr(s) if err != nil { return 0, err } p := &complexParser{ expr: expr, bitSize: bitSize, } c, err := p.parse() if err != nil { return 0, err } return c, nil } 関数の中は至ってシンプルです。 まず、parser
この記事は @janus_wel さんの emscripten でドメイン層に型と速度を持ち込む に触発されたロマンを感じた筆者が、C++で書かれたクラスをemscriptenを通してVue.jsにバインドしてみた記事です。「なぜそもそもそんなこと面倒なことを?」と思われた方がいたら、元記事の「コンセプト」や「経緯」の部分を読んでもらえればと思います。「要するにロマンです」です。 概要 リポジトリ: edwardkenfox/vue-emscripten-todo デモ: vue-emscripten-todo TodoクラスはC++で実装 最近趣味でC++触り始めていたので自分で書いても良かったんですが、Todo.cppやビルド用のスクリプトは元の実装を拝借しました AppコンポーネントおよびTodoコンポーネントをVueで実装 Appコンポーネント(コンテナ)は複数のTodoコンポーネ
社会に存在するデータのうち、たとえばこのようなデータが該当する。 - コンピュータOSが管理するファイルシステムにおけるファイルとディレクトリの関係 - 書籍の構造(部、章、節) - レガシーな会社組織(社長、部長、課長) - 生物の分類法 - 文献学(philology) 表現方法 大きく三つに分ける。 隣接関係・ダイアグラム(Adjacency diagrams)...入れ子(nested) アイシクル・ツリー(Icicle Tree) サンバースト・チャート(Sunburst Chart) エンクロージャー・ダイアグラム(Enclosure diagrams)...入れ子(nested) ツリーマップ(Treemaps) サークルパッキング(Circle Packing) ノードリンク・ダイアグラム(Node-link diagrams)...積み重ね(stacked) Dendro
すでにトレーニングされたモデルからWやbなどの重みを取得することで、より早く学習を進めることができる (fine-tuning)。 モデル自体が完全に同じ場合には当然使えるし、モデルの一部を修正して使用する場合にも、変更の必要がない層に関しては、あらかじめ学習済みのモデルから重みを借用するのが良い。例えば、分類先の画像種類が1000種類から10種類に切り替える場合などは、最終の全結合層のみ切り替える必要はあるが、それ以前の畳み込み層などは変更の必要性は少なく、その部分の重みを使用することができる。 計算時間短縮に結びつく背景には、以下のような点が挙げられる: あらかじめ大量の計算資源を使用して収束した時点の結果を使用するため、それまでの計算時間を省略可能。特に、畳み込み層の第一層はガボールフィルタに近似するという研究も多く、あえてそこを新規で学習させる必要性はあまり感じられない また、各層
LINE BOT AWARDS なる開発コンテストが開催されるということなので、Mashup Awards に応募した勢いで、こちらもやってみようとLINE Messaging API の勉強がてら開発してみました。 以前、出張先で急遽延泊することになった時に宿を探すのが面倒だったこともあり、場所を指定すれば今日泊まれるホテルを探して予約できるBot君を作りました。 使いみち 急な出張や予定変更となった時に慣れない場所でも、空いているホテルをさっと探して予約できちゃいます。 禁煙ルームや朝食付きなどでホテル/プランを絞り込むこともできます。 使い方 ホテルを探したい地名をテキストメッセージか、位置情報を送ります 今日泊まれるホテルがあれば、カルーセル型メッセージで横スクロール表示されます 今日泊まれるホテルが5軒以上あれば、他のホテルを見るか、禁煙ルームなどの条件で絞り込むこともできます
WHY 深層学習について興味がある方が多いと思うので対話における深層学習の実装について記述します。 雑談応答がChainerを使用しているため、その部分にフォーカスして説明します。ただしバージョンが古いので注意が必要です。 動作確認しているバージョンは1.5.1です 間違いがある部分があるかもしれません。深く理解したい部分があったので一部Chainerのコードを追っています。間違いがあれば大変お手数ですがご指摘いただけると幸いです。 PyCon 2016で発表した内容はどちらかというとコンセプトや概要ベースを伝えて頂けなので実際に実装しているコードの説明がないので、自身の振り返りという意味でもあった方が良い そこでコードの説明を加えることでもっと理解して使ってもらえる人が増えて欲しいと思い、この記事を書きました。(できればgithubのスターが増えると嬉しい) Docker Hub git
LinuxやmacOSユーザーなら誰もがお世話になる標準的なシェル「Bash」。最近ではBash for WindowsとしてWindows 10環境でもBashが利用可能になり、ますます活用範囲が広がってきています。 Bashの大きな役割の一つは、ターミナルからのユーザーの入力を読み取ることですが、通常のスクリプト言語のようにさまざまな処理を自動化するスクリプトを作成することも可能です。 本日紹介する「Bash scripting tutorial」は、そのBashスクリプトの作成方法を一から解説するドキュメント。しっかりとバグの少ないプログラムを作成するための指針となるガイドが掲載されています。 チュートリアルは、シェルスクリプトの冒頭に記述するための謎の暗号(?)「Shebang」の説明から始まり、定数、変数等の説明に進みます。 外部コマンドの読み出し方やexitコードの扱い方、関数
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く