修行の場

知人が言っていました。これは修行だと。

Pythonで書いたプログラムがどの程度Cより遅いか。実行速度の遅さのイメージをするための知識を浅く

Pythonで書いたプログラムがどの程度Cより遅いか。実行速度の遅さのイメージをするための知識を浅く Pythonの実装は色々とありますが、ここではCPythonの情報を調べていきます。 良さそうなWebサイトは、 Python CPython Github:補助としてソースコードを E…

CS補強月間: 計算量

CSの知識が錆びてきているので複数と補強を兼ねて記事を書いていきます。 同じく復習したい人の参考になれば。 BigO Notation これを読んで主要なアルゴリズムの計算量見積もりをさらっとやり直せば十分な気がします。 * BigOの目的:実行時間を見積もること…

labelmeで分類タスク用のデータセットを作ってみた

背景 ユーザにとって好みの画像であるか、そうでないかを分類するモデルを作りたいと思い。 まずは自分向けにそのようなモデルを作れることを確認してみたくデータセットを作ってみました。 データセットをlabelmeで作ってみたので、得られた知見をまとめま…

Jupyterのデバッグテクニックメモ

Jupyter Jupyterの表示ログレベルの敷居を下げる。 jupyter notebook --debug > log.file 2>&1 たまにこれでも表示されないエラーがある。 その場合は、スクリプトに変換して実行する。 jupyter nbconvert --to script [YOUR_NOTEBOOK].ipynb 更にそれでもエ…

Mini PC + eGPUで機械学習の環境を構築

ハードウェア MiniPC - Intel NUC8i7BEH eGPU - Akito Node GPU - GeForce RTX 2070 総額12万円くらいだけど、かなり省スペースでいい感じです。 環境構築 Ubuntu 18.04をインストール(カーネルバージョン: 4.15.0-43) NVIDIAのドライバをインストール(4…

Code Complete Chapter 5のDesign Practices

Code Completeの5章に良い設計にたどり着くための"Heuristic"が書かれていて面白かったのでまとめます。 Practicesの絵 イテレーション "Design is iterative process"と書かれていますが、設計のプロセスは一方向で終わるものではなく、抽象度の低いところ…

好みのシーン構成の動画を探すツールの開発計画まで

目的 好みのシーン構成の動画を探すプログラムを作ろうと思っているので、そのために必要な情報をまとめます。ここでいうシーンは場所というよりも主に動画内の複数の人のインタラクションの種類により分類されるものをいいます。 動画中のそれぞれのシーン…

ローレベルなライブラリでdeepnet作って思い通りに動かなかったときの対処法

PyTorchなどの計算グラフからニューラルネットを作るライブラリを使ってプログラムを組んだ場合に、プログラムのバグなのかアルゴリズムのバグなのかを切り分けるためのテクニックを調べたものと最近使ったものでまとめます。 2018年年末現在画像分類、テキ…

データセットのロードや前処理まとめ

自分で収集したデータを使いSkorchやPytorchで学習や評価をさせるのに必要な知識をまとめます。 データセットを扱う際の機械学習の基本的な知識 データセット強化の意味と注意点 機械学習では、テストセットと学習セットがi.i.dに生成されていると仮定されて…

OSSのAutoML AutokerasでCifar100タスクを学習

前回のCifar10に引き続き、Autokerasを使ってCifar100タスクの学習もやってみました。 実験に使ったソースコードはcifar10のものに少しパラメータを追加してsacred対応したものです。 探索の進み方を見る それぞれの畳み込みネットワークの学習にかける最大…

5.2 モデルをデータに合わせる:Capacity, Overfitting, Underfitting

ディープラーニング5.2節 モデルの選択、データセットの収集をする際に必要になる基礎的な話でした。 モデルの表現力であるCapacity、回帰タスクに下げる対象であるGeneralization誤差、テストデータセットのサイズの関係とそれぞれの詳細について述べられ…

一人用簡単な機械学習の実験結果と実験スクリプトジョブ管理環境を構築

背景 機械学習のアルゴリズムを開発していると、複数サーバーを使って学習したり検証したりすることになります。その際に、 複数の異なる引数で同じスクリプトを空いているサーバで実行するのが手間。 サーバーが空いたか定期的に確認して、空いたサーバーで…

よく知られた深層学習手法の独自アプリへの適用を目指して(Deep Learning Chapter 11)

この章では、機械学習を使ったシステムを構築する際のアプローチとテクニックを紹介しています。この記事は11章の内容を独自アプリ用にNNモデルを作ることをゴールにして、ざっくりまとめたものになります。 機械学習システム構築時のアプローチ(推奨) …

Omniboard + Sacred, Jupyter、実験実行コマンド実行ツールを導入

問題意識 最近、複数の機械学習プロジェクトに並行して取り組むことが多くなり、もう少しスマートに実験結果の管理をしたいと思っていました。例えば、古い実験結果をもう一度見るために再度学習から実行し直したりと効率が悪くなっているので、実験結果の分…

OSS AutoML:AutokerasでCifar10の画像分類を試してみた

Autokerasとは Autokerasはニューラルネットワークの構造やハイパーパラメータを自動的に探索してくれるPython製のライブラリです。 The ultimate goal of AutoML is to provide easily accessible deep learning tools to domain experts with limited data…