kumilog.net

データ分析やプログラミングの話などを書いています。

ベイズ最適化でパラメータチューニングを行う

Scikit-Optimizeを使ってベイズ最適化で機械学習のハイパーパラメータの探索を行いました。 はじめに グリッドサーチ 手書き文字での実験 ベイズ最適化 参考 Pythonでベイズ最適化 探索範囲 ブラックボックス関数 ガウス過程での最適化 結果 まとめ はじめに…

ワンライナーで自分がSlackにアップロードしたファイルのダウンロードと削除を行う

シェルを使ってSlackにアップロードしたファイルのダウンロードしたり、削除したりします。ワンライナーとタイトルに書いたものの、若干無理やりです。また、ダウンロードと削除はまとめて1行ではなく、別々です。 準備 トークン作成 jqのインストール ファ…

PythonとSheets API v4でGoogleスプレッドシートを読み書きする

PythonからSheets APIを使ってGoogleスプレッドシートを操作してみました。Pythonのクイックスタートの内容を中心に紹介します。 Google Sheets API を使うための準備 Google API コンソールでSheets APIを有効化 認証情報を作成 Pythonパッケージのインスト…

KerasのGeneratorにSequenceをつかう

Kerasのmodel.fit_generator()にSequenceをつかってみます。 はじめに Sequenceをつくる ChainerのDatasetMixinとの違い Sequenceをつかう はじめに Kerasのfit_generator()の引数にはGeneratorかSequenceをつかうことができます。 今回はSequenceを使ってみ…

統計検定2級に合格したときの勉強方法

統計検定2級に合格しました。そのときの勉強方法です。 はじめに 勉強方法 公式教科書 統計WEB 過去問 試験 おわりに はじめに 勉強前の状態ですが、ある程度の統計の知識はある状態だったと思います。公式の教科書をパラパラめくって、細かいところは覚えて…

簡単・便利!画像を扱うコマンド

サーバ上の画像を扱うとき、毎回ローカルにダウンロードするのは面倒ですよね。そこで、コマンドで扱う方法をいくつか紹介します。 画像を表示する サイズと拡張子を確認する サイズを変更する 画像を表示する iTerm2用のコマンドですが、imgcatが便利です。…

OpenAI Gymで強化学習

OpenAI Gymは、非営利団体であるOpenAIが提供している強化学習用のツールキットです。以下のようなブロック崩しの他いくつかの環境(ゲーム)が用意されています。OpenAI Gymをつかって強化学習に触れてみたいと思います。 強化学習 強化学習とは Q学習 行動…

VideoGANの論文を読んだ

GANの一種であり、動画を生成するVideoGANの論文を読みました。 [1609.02612] Generating Videos with Scene Dynamics 概要 動画生成モデル Generator Network Foreground Stream Background Stream ForegroundとBackgroundの結合 Discriminator Network 学…

スマホアプリで学習状況を監視するHyperdash入門

WebアプリやiOS/Androidアプリで機械学習の学習状況を見ることができるHyperdashの使い方をまとめてみます。 インストールとユーザ登録 ログの表示 パラメータやスコアをトラッキング Chainer Keras XGBoost まとめ インストールとユーザ登録 はじめにインス…

KerasのGeneratorを自作する

Keras Advent Calendar 2017 の 25日目 の記事です。 Kerasでモデルを学習するmodel.fit_generator()でつかうgeneratorを自作してみます。なお、使用したKerasのバージョンは2.1.2です。 はじめに Generatorをつくる Generatorをつかう おわりに

NumPyでの画像のData Augmentationまとめ

Python Advent Calendar 2017 の 18日目 の記事です。 画像のData Augmentationの手法をNumpy(とSciPy)で実装し、まとめてみました。 使うデータ Data Augmentation Horizontal Flip Vertical Flip Random Crop Scale Augmentation Random Rotation Cutout R…

ChainerでFineTuning その2

Chainer Advent Calendar 2017 の 11日目 の記事です*1。 Caffeモデルを利用したFineTuningを試したいと思います。ChainerでのFineTuningは、ChainerのLink関数であるVGG16Layers()なども用いることもできます。VGG16Layers()を用いる方法については以下にま…

PyTorchとCaffe2でONNXを使ってみる

Deep Learning フレームワークざっくり紹介 Advent Calendar 2017 の 9日目 の記事です。 PyTorchとCaffe2で、モデル表現の標準フォーマットであるONNX (Open Neural Network Exchange)を使ってみます。 環境 PyTorch インストール モデル定義 Caffe2 ONNX …

MacOSでChainerを使うときのWarningに対処する

MacOSでデフォルトのNumpyとChainerを使うと、精度が落ちる問題があり、Warningが発生します。OpenBLAS対応のNumpyを使うことで対処します。 OpenBLASのインストール OpenBLAS対応のNumPyを再インストール NumPyのアンインストール NumPyをソースからインス…

ResNetの論文を読んだ

ちょくちょくResNetを用いることがあるのですが、論文を読んだことがなかったので、読んでみました。 [1512.03385] Deep Residual Learning for Image Recognition 概要 ResNetが解決する問題 Residual Learning ResNetブロック ネットワークアーキテクチャ …

Chainerで動画を扱う

Chainerにおいて画像を扱う場合、ImageDatasetというクラスが用意されており、以下のように簡単に扱うことができます。 from chainer.datasets import ImageDataset image_files = ['1.png', '2.png'] train = ImageDataset(paths=image_files) Datasetにつ…

ChainerでFineTuning その1

機械学習がうまくいくケースにおいて、教師あり学習の次に、転移学習が成功のカギになってくると言われているそうです。転移学習は、あるドメインで学習させたモデルを別のドメインに適用させる学習のことです。少ないデータでもうまく学習ができたりします…

ImageNetの画像をダウンロードする

ImageNetは大規模な画像データベースで、現在2万クラス1,400万枚を超える画像があります。クラスにはWordNetの単語を用いています。CNNがブレークしたILSVRCというコンペで用いられたりと、ベンチマークとして有名なデータセットです。 画像のダウンロードは…

Chainerでデータセットを作る

Chainerでデータセットを作る方法についていくつか紹介したいと思います。なお、執筆時点のversionは3.0.0です。 シンプルなデータセット 画像を扱うデータセット ImageDataset LabeledImageDataset データセットに処理を加える 独自のデータセット データセ…

Python 3でファイル読み込み時のUnicodeDecodeErrorを回避する

Pythonでファイルを読み込むときは以下のような処理でいけますが... with open('file/to/path', 'r') as f: for line in f: line = line.strip() # つづきの処理 読み込んでいる途中で、utf-8ではない文字が含まれていると、UnicodeDecodeErrorが発生するこ…

ゆるふわグラフをmatplotlibで描く

pythonでグラフといえば、matplotlibですが、ちょっといけてないので、 きれいなグラフを描くには、seabornを使ったりしてるかと思います。 seabornはきれいなグラフを簡単に描けるのですが、勉強会のプレゼン資料なんかに おすすめで、手書き風のグラフを描…

Python+OpenCVで動画を扱う

Ubuntu 16.04にOpenCVとFFmepgをインストールした環境を用いました。詳細は以下の記事を参照してください。 xkumiyu.hatenablog.com

Ubuntu16.04にFFmpegとOpenCV3をインストールする

Pythonで動画を扱うためにFFmpegとOpenCVをインストールします。環境はUbuntu16.04です。 FFmpegのインストール 動作確認 OpenCVのインストール 準備 設定ファイル作成(Configuring) ビルド Pyhonで確認 インストールのポイント

DeepLearningのフレームワーク比較

メインコントリビューター 対応言語 Github Star*1 公開時期*2 Tensorflow Google Python, C++, Java, Go 68.9k 2015.11 Caffe カリフォルニア大学バークレー校 C, C++ 19.6k 2014.11 Caffe2 Facebook Python, C++ 5.4k 2015.12 CNTK Microsoft Python, C++,…

Conditional DCGANで画像生成

GANの一種であるDCGANとConditional GANを使って画像を生成してみます。 GANは、Generative Adversarial Networks(敵性的生成ネットワーク)の略で、Generator(生成器)とDiscriminator(判別器)の2つネットワークの学習によって、ノイズから画像を生成するアル…

ChianerMNによる分散深層学習

2017年9月1日ChainerMNが正式リリースされました*1。β版では使用していましたが、新しい環境に一からインストールしてつかってみました。 ChainerMNについて 使用環境 ChainerMNのインストール インストールに必要なもの 環境変数の設定 MPIのインストール …

NVIDIA GPUで始めるディープラーニング

2017年7月に開催されたPyData.Tokyo Meetup #14のメインセッションである「NVIDIA GPUで始めるディープラーニング」のメモです。 20170726 py data.tokyo from ManaMurakami1

Ubuntu16.04にChainerをインストールする

もうすぐ3.0が正式リリースらしい10/17に3.0が正式リリースされました*1Chainerですが、GPUサーバにインストールする手順をまとめてみます。もし手元のMacとかでGPUを使わないならpip install chainerするだけです。 用いた環境 GPUの確認 インストールに必…

Redux ExampleのTodo Listを写経しました。

Reduxの勉強のため、公式ExampleにあるTodo Listを写経してQittaにまとめました。 Redux ExampleのTodo Listをはじめからていねいに(1) Redux ExampleのTodo Listをはじめからていねいに(2) Redux ExampleのTodo Listをはじめからていねいに(3) コードは以下…

機械学習の勉強会に参加しました。

とある機械学習の勉強会に参加してきました。 参加者全員が勉強したことを自由に発表する形式で、最近『はじパタ』を読み始めたので、kNNについて簡単にまとめて発表しました。 pdfにするとアニメーションgifが埋め込まれないみたいなので、一応貼っておきま…