kumilog.net

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

Pythonプロジェクトでよく使うライブラリ/ツール2020

はじめに プライベートや仕事などでPythonを用いた開発を行う際、毎回使うライブラリ/ツールはあるかと思います。 新しく使い始めたものもあれば使わなくなったものあり、時間が経つにつれて少しずつ変化していっているので、個人的な忘備録も兼ねて2020年12…

ボイスメモをGoogle Speech APIで文字起こし

はじめに 音声ファイルの変換 GCPの準備 Google Cloud SDK のインストール プロジェクトの作成と設定 Storage へアップロード bucketの作成 ファイルのアップロード Google Speech API を使う Speech APIの実行 結果の確認 まとめ はじめに iPhoneの標準アプ…

Pythonのログ出力にlogzeroを使う

Python その2 Advent Calendar 2018 10日目の記事です。 はじめに インストール 使い方 基本 ログレベルの設定 ファイルに出力 ログローテーション フォーマット変更 まとめて設定 おわりに はじめに Pythonでログ出力する際に何を使っていますか、printでし…

CapistranoでRailsデプロイ

はじめに 前提 便利なプラグイン rbenvのrubyを使う インストールと設定 bundle installを行う インストールと設定 追加されるコマンド Assetsのコンパイルを行う インストールと設定 追加されるコマンド マイグレーションを行う インストールと設定 追加さ…

pyenvを一発でインストールする方法

TL; DR curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash 以上です。 はじめに pyenv は普段使用しているのですが、新しい環境に入れるとき毎回git cloneして、.bash_profileに追記したりしており、pyenv-installer…

Capistranoでデプロイ自動化

はじめに サーバ側での作業 デプロイ用のユーザの作成 アプリケーションディレクトリの作成 (任意)Githubへの公開鍵の登録 ローカル側での作業 デプロイ用のディレクトリの作成 Capistranoのインストール Capistranoの設定 デプロイ実行 共通ファイルとフ…

Pythonの知っておくと良い細かい処理速度の違い8個

はじめに 標準入力 input と sys.stdin.readline ソート sort と sorted ソートの key ループ for と while リスト リストの初期化 二次元配列の場合 リストの値参照 リストへの値追加 それぞれの処理速度 まとめ はじめに 最近、PythonでAtCoderなどの競技…

ダイクストラ法

はじめに ダイクストラ法 計算量 コード 実行例 例題 SoundHound Inc. Programming Contest 2018 D - Saving Snuuk 問題 解法 ABC 035 D - トレジャーハント 問題 解法 はじめに 最短経路を求めるアルゴリズムであるダイクストラ法をPythonで実装して、例題…

Union Find

はじめに Union Find Pythonで実装 経路圧縮 グループの要素数 最終的なコード 例題 ATC 001 B - Union Find 問題 解法 ABC 049 D - 連結 / Connectivity 問題 解法 ABC 120 D - Decayed Bridges 解法 はじめに 素集合データ構造を表すUnion Findアルゴリズ…

尺取り法

Pythonのコードを交えて、尺取り法について説明します。 はじめに 尺取り法 ABC 032 C - 列 問題 解法 コード 参考 その他の例題 ARC 022 B - 細長いお菓子 問題 解法 コード ABC 098 D - Xor Sum 2 問題 解法 コード はじめに 先日、初めてAtCoderに参加*1…

自己紹介用のCLIアプリを作った

流行にのって?Nodeで名刺代わりになるCLIアプリを作ってみました。 はじめに NodeでCLIアプリ開発 npmパッケージとして登録 まとめ はじめに 先日、Qiitaで以下の記事を見かけました。 qiita.com こちらのSindre Sorhus氏のTweetが流行発信元のようで、node…

MNISTのバイナリを画像に変換する

はじめに 画像系の入門データとして、手書き文字のMNISTは最もよく使われるデータの1つかと思います。 KerasやChainerなど主要なフレームワークには、ダウンロードして配列に格納するといった処理を行う関数を用意しているので、簡単に扱うことができます。 …

SARIMAで時系列データの分析(PV数の予測)

統計モデルでの時系列データの分析手法であるSARIMAを使って、PV数の予測分析を行います。 はじめに データの準備 データの確認 PV数 PV / エントリ数 相関関係 コレログラム 成分分解 定常性の確認 時系列データの前処理 差分 季節調整 差分+季節調整 時系…

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

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

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