しんさんのブログ

科学や技術のこと読書のことなど

NVIDIA GPUの歴史ざっくりまとめ

GPU

GPUのアーキテクチャの変遷について自分用のメモです 2006年 CUDA発表 G80アーキテクチャ発表 初めてのUnfied shader architecture GeForce88002007年 Tesla HPC用 TSUBAME1.2 Tesla S1070 2008年Top500で20位2009年 Fermi世代 double precisionの大幅な性能…

機械学習基礎の基礎: 過学習を防ぐ正則化

前回のブログでは2次元平面上の8つの点を10次関数でfittingしました。 すると、fittingする関数の自由度が高いために、8つの点すべてを通るようにうまくパラメータを調節できてしまい、学習データに対しては100%近い正解率がでるのに、新たなデータ…

機械学習基礎の基礎: 過学習

今回は過学習についてみて見ます。 まずは訓練データを作成します。 訓練データは3次関数にノイズを加えた8つの点(x, y)構成することとします。 プログラムの初めに8点生成して、それらの点を10次関数でfittingすることにします。 データの個数がfitti…

機械学習基礎の基礎: パーセプトロンで線形分離を実装してみる

今度は、パーセプトロンを使って線形分離をしてみます。 適当に線形分離できそうなデータを以下のように作ってみました。 データは2次元平面上の点の座標(x, y)とそれぞれの正解ラベル1 or -1をつけています。 10, 20, 1 11, 30, 1 15, 30, 1 17, 35, 1 5,…

機械学習基礎の基礎: 確率的勾配降下法の実装

前回のデータとコードを改造してStochastic gradient descent method(SGD)を実装してみました。 と言っても、大した改造ではなくパラメータの更新を1つの訓練サンプルごとに行うようにしただけです。 np.random.permutation(X.shape[0]) で、いったんランダ…

機械学習基礎の基礎: 非線形fitting

前回の線形fittingでは、身長が低いところでfittingのずれが大きくなっていましたので、今回は2次関数でfittingすることにします。 同時に、入力データやパラメータをmatrixで扱うことでコードをシンプルにしています。 前回との差分は、fitting関数を y = …

機械学習基礎の基礎: データ読み込みから線形fittingまで

機械学習の基本である線形回帰のコードを書いてみます。流れの説明: 1) データファイルの読み込み: データファイルはtextデータで x0, y0 x1, y1 ... のように格納しています。今回以下のような ダミーの(身長, 体重)データを使用しました. 85, 16.8 90.5,…

jupyterlabをインストールしてみた

jupyter notebookの次期バージョンとしてjupyterlabが予定されているらしいです。 以下の記事を読み、試してみたいと思いインストールしてみました。 http://www.publickey1.jp/blog/18/webidejupyterlabpythonrscala.htmlインストール方法 jupyterlabのgith…

Python + OpenCV3で顔認識

先日, Python + OpenCV3の環境を構築しましたので, この環境でWeb camからの映像を使用して顔認識してみました.初めにanacondaでopnecvの仮想環境をactivate して jupyter notebookを立ち上げます. 以下jupyter notebookのコードと解説を書きます. 顔認識用…

数理統計の勉強のための資料

機械学習やビッグデータを勉強していると根本的な数理統計の知識が足りないことに気づきました。 数理統計の勉強のための参考書をリストアップします。「Introduction to Mathematical Statistics」Introduction to Mathematical Statistics: Pearson New In…

東大の松尾研究室, Deep Learning基礎講座やってみた

東大の松尾研究室がDeep Learning基礎講座を開設しているらしいです. 以下のブログに触発されて私も早速ためしてみました. karaage.hatenadiary.jpすると確かに上のブログに書いてあるようにlecture_chap05_exercise_master.ipynbのTensorBoardの可視化のと…

Kerasでmnist.load_data()したときにデフォルトでデータがセーブされる場所

WindowsでKerasのサンプルを実行したときの話です。 例えばmnist_cnn.pyを実行するとネットワークからmnistデータセットをはじめにロードしますが、そのファイルがおいてある場所は、 C:\Users\username\.keras\datasets になります.以下のソースコードを読…

Kerasのバックエンドを変更する方法

Anacondaでpythonとtensorflow及びKerasをインストールしてpythonからimprot kerasを実行するとバックエンドがなぜかtheanoになってしまう問題の解決方法です。 解決方法:(環境変数を書き換える) C:\Users\someone\Anaconda3\envs\someEnv\etc\conda\activa…

機械学習の論文を効率よく読む方法

機械学習に関しては日々多くの論文が投稿されていて、すべてに目を通すことは時間的に難しいです。以下のサイトでは、投稿される機械学習関連の論文をリスト化し簡単なサマリーが付けられているので このサイトを見れば世の中のトレンドを知ることができます…

proxyの設定

windowsのターミナルでpipでパッケージのインストールができないとき、 proxyの設定がされていなことが原因の場合があります.解決方法: ウィンドウズのシステム環境変数に以下の二つを追加すればよい. https_proxy http_proxy

「これならわかる深層学習 入門」 瀧 雅人著 の正誤表

機械学習スタートアップシリーズ これならわかる深層学習入門 (KS情報科学専門書)作者: 瀧雅人出版社/メーカー: 講談社発売日: 2017/10/21メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る瀧 雅人さんの「これならわかる深層学習 入門」 …

「機械学習入門」 大関 真之著 を読みました

機械学習入門 ボルツマン機械学習から深層学習まで作者: 大関真之出版社/メーカー: オーム社発売日: 2016/12/01メディア: 単行本(ソフトカバー)この商品を含むブログを見る表紙が機械学習の本の中ではトップクラスに機械学習らしくなくいい意味で手に取り…

Visual Studio codeでLatexを使う

Visual Studio Code でLatexを使って文章を書いて、コンパイル、platex2pdfまでやってしまおうという話です. まずはVSCodeのプラグインであるLaTeX Workshopをインストールし設定します. インストールと設定は以下の解説通りにやればすんなりOKです.elecho.h…

機械学習用ハードウェア

2017年の8月あったHot Chips 2017でマイクロソフトがディープニューラルネットワークの推論処理を高速で実行できる クラウド環境Project Brainwaveを発表したというニュースは気になりますね。 推論処理のレイテンシを下げることは今後IOTとか自動車とかエン…

pythonを使った深層学習用ライブラリkerasのインストール方法

kerasとは? kerasはTensorFlowやTheanoをバックエンドとして実行するライブラリです。 深層学習のネットワークのアーキテクチャの構築を直感的に記述することが可能なライブラリです。 要は、深層学習をお手軽に書くことができますよ、ということですね。 …

numpyで行列を扱うときに気持ち悪いこと

例えば以下のような行列計算をnumpyで書くときに皆さんはどのようにしますか。 A:1行2列の行列 B:2行3列の行列 C: C = AxB -> 1行3列の行列このとき, A= np.random.rand(2) B= np.random.rand(2,3) C= np.random.rand(3) と書くことが多いですが、 A, B, Cを…

Windows10でDraknetをビルドしてYOLOを動かして画像認識を試してみました

最近以下のような画像を見かけることが多くないですか? 自分のマシンでも動かしたくなりDarknetをダウンロードしてmakeして,手持ちの写真でやってみましたという話です. Darknet, YOLOのオリジナルサイトは以下になります. pjreddie.com基本的には以下のサ…

TensorFlowのMNIST For ML Beginnersを試してみる

前回、TensorFlow始めましたということで TensorFlowのドキュメントを読みながら TFの実行環境整備をしました. 今回はその続きで, MNIST For ML Beginnersを 読みながら実際に実行してみたいと思います. MNISTとは MNISTとはプログラミングにおけるHello wor…

TensorFlow始めました [環境整備編]

今年になってTensorFlow1.0がリリースされてWindows上でも比較的安定して動くようですので、 Windows10 64bitが動いているデスクトップマシンとノートPCでTensorFlow1.0の実行環境を整備してみました. 情報はすべて2017/4/15のものです. まずはTensorFlowの…

Firefox 52.0.2 ではてなツールバーのログイン状態が維持できない

Windows10 + Firefox 52.0.2 64bit版を使用しているのですが、なぜかはてなツールバーのログイン状態が維持できないです。 サードパーティークッキーは許可しているのですが、はてなにログインボタンを押してログインした後もログイン状態が維持できないです…

Visual Studio Codeの設定メモ. Markdown, Latexなどなど

Visual Studio codeの設定メモ VS code設定追加と見直し 2020/7/22版 からあげさんのページを参考にしました。 karaage.hatenadiary.jp 以下の3つはコーディングには必須ですね。便利です。 Bracket Pair Colorizer 2 indent-rainbow Trailing Spaces その他…

Sublime3+Windows10で日本語変換の場所がずれる問題

最近Windows10の環境に移行したので、Sublime3を早速セットアップしました。 基本的なセットアップはこのブログに書いてある通りなのですが、IMESupportを導入しても日本語変換の返還窓がずれて表示されます。 入力している文字のすぐそばに表示してくれれば…

Processingの高速化 Tips その1

Processingでpixel shaderを使って、ピクセル操作を行っているときにシェーダーはほとんど何もしていないのに異常に処理速度がかかってしまう問題にはまりましたので、その原因と解決方法をメモっておきます。やっていることは、以下のコードを見ていただく…

球面調和関数を視覚化してみまして

球面調和関数と言えば物理やってる人は、水素原子のシュレディンガー方程式の解ということで学部時代に一度は教科書で見たことあるとか、テスト勉強で解いてみたことあるっていう人も多いのではないかと思います。 ルジャンドルの陪関数が出てきたり、添え字…

球面調和関数と大域照明について(webリンク集)

大域照明について、球面調和関数を使用する方法と球面調和関数そのものについての解説記事にリンク集を自分メモように作ります。 多くのサイトで球面調和を計算したり可視化するコードが公開されていますが、ほぼ同じようなコードとなっているようです。 1) …