0.5から始める機械学習

Machine Learning, Deep Learning, Computer Vision に関する備忘録

【kubernetes】Podのshared memory sizeを変更する

こんにちは 今日はkubernetesにおいてPodのshared memory size(shm)を変更する方法についてまとめます。

Trainsによる実験管理 ~初期設定編~

こんにちは 前回という実験管理ツールの立ち上げについてまとめました。 nodaki.hatenablog.com 今回はその初期設定方法と簡単な使い方についてまとめます。

Trainsによる実験管理 ~サーバー立ち上げ編~

こんにちは みなさんは機械学習/Deep Learningにおいてどのように実験管理をしていますでしょうか? ハイパーパラメーター テスト結果 学習済みモデル ソースコードのバージョン etc. 挙げ始めるときりがないですが、様々な項目を管理する必要があると思いま…

deepopsを使ったGPUクラスター(kubernetes)の構築

今日は学習基盤となるGPUクラスター(kubernetes)をdeepopsを使って簡単に構築する方法についてまとめます。 特に企業勤めでproxy周りの設定が必要なことを想定して、そのあたりの設定についても詳しく書いて行きたいと思います。 deepops deepopsは、NVIDIA…

Nuxt.js でプロジェクトを作成するまで ~ArXiv Bookmark開発記その5~

開発記第5弾はNuxt.jsでプロジェクトを作成するところまでを簡単にまとめたいと思います。 めっちゃ簡単にwebアプリケーションが作れちゃいます!! ja.nuxtjs.org ということで順にインストール手順をば紹介します。 1. Node.js とnpmのインストール まずは…

FlaskからNuxt.jsへ ~ArXiv Bookmark開発記その4~

こんにちは ArXiv Bookmark開発記第四弾です。 突然ですが、Flaskやめるってよ。 元々の構想はFlaskだけでやる予定でしたが、色々あってFlask以外でサーバーを構築しようかと考えています。 今日はそんな感じの話。 Why ? 色々と紆余曲折があったのですが、…

arXiv APIの使い方 ~ArXiv Bookmark開発記その3~

こんにちは ArXiv Bookmark開発記第三弾は、arXivから論文情報を検索できる「arXiv API」についてです! arXiv API | arXiv e-print repository arXivでは論文検索用のAPIを提供してくれているため今回はこれを利用します。 詳しいマニュアルはこちらから ar…

Flaskとjinja2 ~ArXiv Bookmark開発記その2~

こんにちは 開発記第二弾です。 今日はFlaskの便利かつ必須の機能であるテンプレートエンジン:jinja2についてです。 jinja2を使うことで、python ↔︎ html 間で変数の受け渡しや、htmlのテンプレート化ができます。 ということで基本中の基本だけを今回記事に…

FlaskとMaterialize ~ArXiv Bookmark開発記その1~

こんにちは 今日は前回のポストで話したwebアプリの開発記第一弾になります。 アプリ名は ArXiv Bookmark(仮) にしようかと考えています!! arXivの論文達をサクッとブックマークして気に入ったものをじっくりと読む、みたいなことができるサイトを目指し…

arXiv論文チェック用のWebアプリケーションをherokuに公開するまで

こんにちは 皆さんはarXivに上がってくる論文をどのようにチェックしていますでしょうか。 昨今のDeepLearningブームのおかげで凄まじい勢いで論文数が増えているので、それを整理するのも大変ですよね... ということでarXivに上がる論文を素早くチェックす…

【JupyterHub】JupyterHubを複数ユーザーで使用するための環境構築方法

JupyterHub こんにちは 今日はJupyter notebook/lab をグループ開発で使うためのJupyterHubを複数ユーザーで使えるようにするための設定方法についてまとめます。 最終ゴールは 複数ユーザーでログイン 各ユーザーが自由に仮想環境を作成することができる 各…

【jupyter】Anaconda仮想環境をjupyter notebookで使用する

こんにちは Anaconda, jupyter notebookはpythonの開発にはとても有用なツールです。 今回はこの2つを連携させることでより便利な開発環境を整える方法を紹介します。 Anaconda仮想をjupyter notebookのkernelに追加する手順

【Optuna】Optuna Tutorial with Pytorch

Optuna Tutorial with Pytorch 先日PFNからハイパーパラメータチューニングを自動でやってくれるというフレームワークが公開されました。 optuna.org PFN内でもOpen Images Challenge 2018の際にはこれを用いてパラメータチューニングをしていたとか。 これ…

【GitLab】 Proxy環境下でGitLabにssh接続する

Proxy環境下でのGitLab接続方法について Proxyのせいでイライラさせられた人向けのTipsです。 設定方法 sshキーをGitLabに登録済みという前提です。 ~/.ssh/config に以下の記述をします(configがない場合は作成しましょう)。 Host gitlab.com HostName al…

【Python】 Jupyter notebook / Lab をリモート接続で利用する

Pythonでの開発においてとても便利なJupyter notebookですが、少し設定をいじるだけでリモート接続が可能となり、より便利な開発環境になります。 設定方法 1. notebook_config.pyの作成 jupyter notebook --generate-config ~/.jupyter/jupyter_notebook_co…

【Python】 関数の実行時間を計測する

Pythonにおいて時間を計測する方法はいくつかありますが、今回はデコレータを利用した方法を紹介します。 デコレータの定義 次のようにデコレータを定義します。 import functools from time import time def stop_watch(func): @functools.wraps(func) def …

【Python】 「==」 と 「is」 の違いについて

Pythonにおいてオブジェクト同士を比較する方法として、「==」と「is」がありますが、違いをいまいち把握しないまま使用して、痛い目を見たので備忘録として。

Capslock を Ctrl に変更に変更する

あのイマイチ使いドコロがわからないどころか邪魔さえしてくる「Capslock」キーを、使い勝手のよい「Ctrl」キーに変更する方法をまとめておきます。 Ubuntuの場合 Ubuntu 16.04 Ubuntuの場合は、/etc/default/keyboardにXKBOPTIONS="ctrl:nocaps"を書き込ん…

【Ubuntu】 shellをfish + fisherman に変えた話

今までUbuntuのデフォルトシェルである"bash"に特段不満を感じた訳ではないが、より便利なものがあるというのにそれを使わないのはもったいないと感じたのでシェルを変えてみました。 あと、シェルとかCLIが得意とかこだわりがあるって言ったほうがエンジニ…

【Python】Pycharm 便利設定

PythonのIDEで最強であるPycharmですが、個人的にこうしておくと便利だと思う設定についてまとめました。

【Python】jupyter notebookの機能拡張 ~jupyter notebook extensions~

jupyter notebookとは、ブラウザ上で動作するデータ分析用のツールです。 ソースコードの実行、結果の表示だけでなくMarkdown形式でリッチなコメントを残すことができるため、実験から資料作成までこのツールだけで完結することができます。 今回は、そのjup…

【DeepLearning】Patch GANのPatchとは?

今回は様々なGANの中に出没するPatchGANについて Patch GAN とは pix2pixや先日の記事で紹介したAttention GANなどにもDiscriminatorとしてPatch GANがよく出てきます。 そこで、Patch GANとググるとよくこのように紹介されています。 Discriminator(Patch G…

【論文紹介】GANを制覇する (2) ~BC-GAN~

GAN A to Z ~B編~ 本日紹介するGANは Bayesian Conditional GAN (BC-GAN) です。 名前の通り"Bayese" + "Conditional" なGANです。 BC-GAN 概要 通常のGANと異なる点は、 ノイズを入力とせず、Generator及びDiscriminator自体に分布を持たせることで様々なサ…

【PyTorch】 DataLoaderのバッチ取り出し時の挙動について(2)

こんにちは。 先日に引き続き、DataLoaderクラスについてTipsを少し。 nodaki.hatenablog.com 今回はPyTorchのDataLoaderクラスを使用している時に少し引っかかったポイントがあったのでご紹介しようと思います。 結論から言うと、データのshapeがバッチ内で…

【PyTorch】 DataLoaderのバッチ取り出し時の挙動について

こんにちは。 今回はPyTorchのDataLoaderがバッチデータを取り出す際の挙動について触れようと思います。 環境 PyTorch: 0.4.0 DataLoaderが対応する型 DataLoaderはDatasetクラスがサンプルしたデータをバッチサイズ分スタックして出力するというのが基本の…

【論文紹介】GANを制覇する (1) ~Attention GAN~

こんにちは。 先日こちらの記事で、 nodaki.hatenablog.com GANが(ほぼ)AからZまであるという事をお話ししました。 そこで、論文を読む癖を付けるという意味も込めて、AからZまで各アルファベット1本ずつ計26本分GANに関する論文を読もうと思います‼︎ Aか…

【DeepLearning】 GAN A to Z

こんにちは。 最近GAN(Ganarative Adverserial Network)が流行っていますね。 名前となんとなくの原理は知っているものの、説明を求められると 「うっっ」てなる、今の私にとってはそんな立ち位置です。。。 流石にそれではまずかろうと思い何はともあれ論文…

ブログ始めました

こんにちは。 ブログのタイトルの通り、機械学習、Deep Learningに関する備忘録としてブログを始めます。 主に実装、やってみた系などを投稿する予定です。 普段からもっぱらPythonを使っているので、Pythonに関するtipsもまとめていこうかと。 きっかけ ブ…