タグ CUBE SUGAR CONTAINER
新着順 10 users 50 users 100 users 500 users 1000 usersフレッツ回線が遅すぎる問題を IPv6/IPoE と DS-Lite で解決した - CUBE SUGAR CONTAINER
2017 - 04 - 08 フレッツ回線が遅すぎる問題を IPv6/IPoE と DS-Lite で解決した IPv6 Linux 最近というほど最近でもないんだけど、近頃はとにかくフレッツ回線のスループットが出ない。 下手をすると、モバイルネットワークの方が速いので時間帯によってはテザリングをし始めるような始末だった。 今回は、そんなスループットの出ないフレッツ回線を何とか使い物になるようにす... 続きを読む
Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER
2017 - 03 - 29 Python: ソケットプログラミングのアーキテクチャパターン Mac OS X Python 今回はソケットプログラミングについて。 ソケットというのは Unix 系のシステムでネットワークを扱うとしたら、ほぼ必ずといっていいほど使われているもの。 ホスト間の通信やホスト内での IPC など、ネットワークを抽象化したインターフェースになっている。 そんな幅広く使われ... 続きを読む
Python のバージョン毎の違いとその吸収方法について - CUBE SUGAR CONTAINER
2015-09-06 Python のバージョン毎の違いとその吸収方法について Python この記事の目指すところ 現在 Python はバージョン 2.x 系と 3.x 系という、一部に互換性のないふたつのメジャーバージョンが併用されている。 その上で、この記事にはふたつの目的がある。 ひとつ目は、2.x 系と 3.x 系の違いについてまとめること。 現状、それぞれのバージョン毎の違いはまとま... 続きを読む
オープンソースの脆弱性スキャナ OpenVAS を使ってみる - CUBE SUGAR CONTAINER
2017 - 08 - 09 オープンソースの脆弱性スキャナ OpenVAS を使ってみる Ubuntu16.04LTS Security 今回はオープンソースの脆弱性スキャナである OpenVAS を使ってみることにする。 脆弱性スキャナというのは、ホストに既知の脆弱性が含まれないかどうかを自動でスキャンしてくれるツール。 注意: 脆弱性スキャンはポートスキャンやペネトレーションを含むため外部の... 続きを読む
Python: Selenium + Headless Chrome で Web ページ全体のスクリーンショットを撮る - CUBE SUGAR CONTAINER
スクレイピングした Web サイトからページ全体のスクリーンショットを撮影したい機会があった。 そこで Selenium の Python バインディングと Headless Chrome を使ったところ実現できたのでメモしておく。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.13.5 BuildVersion: 17F77 $ pyth... 続きを読む
Python: ベイズ最適化で機械学習モデルのハイパーパラメータを選ぶ - CUBE SUGAR CONTAINER
機械学習モデルにおいて、人間によるチューニングが必要なパラメータをハイパーパラメータと呼ぶ。 ハイパーパラメータをチューニングするやり方は色々とある。 例えば、良さそうなパラメータの組み合わせを全て試すグリッドサーチや、無作為に試すランダムサーチなど。 今回は、それとはちょっと違ったベイズ最適化とい... 続きを読む
まっさらな状態から Docker イメージを作る - CUBE SUGAR CONTAINER
2018 - 02 - 04 まっさらな状態から Docker イメージを作る Ubuntu16.04LTS Linux Docker Golang Docker イメージというと、一般的には既存の Docker イメージをベースにして作る機会が多い。 そうしたとき Dockerfile にはベースとなるイメージを FROM 命令で指定する。 とはいえ、既存のイメージをベースにしない、まっさらな状... 続きを読む
「スマートPythonプログラミング」という本を書きました - CUBE SUGAR CONTAINER
2016 - 03 - 13 「スマートPythonプログラミング」という本を書きました 表題の通り Python の本を書いたので、そのご紹介です! スマートPythonプログラミング: Pythonのより良い書き方を学ぶ 作者: もみじあめ 発売日: 2016/03/12 メディア: Kindle版 この商品を含むブログを見る どんな本なの? ひと言で表すと、自信を持って Python を書け... 続きを読む
Python: ユニットテストを書いてみよう - CUBE SUGAR CONTAINER
ソフトウェアエンジニアにとって、不具合に対抗する最も一般的な方法は自動化されたテストを書くこと。 テストでは、書いたプログラムが誤った振る舞いをしないか確認する。 一口に自動テストといっても、扱うレイヤーによって色々なものがある。 今回は、その中でも最もプリミティブなテストであるユニットテストについ... 続きを読む
Python: デコレータの全て - CUBE SUGAR CONTAINER
Python の特徴的な構文の一つにデコレータがある。 便利な機能なんだけど、最初はとっつきにくいかもしれない。 そこで、今回はデコレータについて一通り色々と書いてみる。 先に断っておくと、とても長い。 これを読むと、以下が分かる。 デコレータの本質 デコレータはシンタックスシュガー (糖衣構文) に過ぎない デ... 続きを読む
Python: 機械学習における不均衡データの問題点と対処法について - CUBE SUGAR CONTAINER
機械学習における分類問題では、扱うデータセットに含まれるラベルに偏りのあるケースがある。 これは、例えば異常検知の分野では特に顕著で、異常なデータというのは正常なデータに比べると極端に数が少ない。 正常なデータが 99.99% なのに対し異常なデータは 0.01% なんてこともある。 このようなデータセットは不均... 続きを読む
Python: ジェネレータをイテレータから理解する - CUBE SUGAR CONTAINER
2017 - 11 - 23 Python: ジェネレータをイテレータから理解する Python のイテレータとジェネレータという概念は意外と分かりにくい。 今回は、実は深い関わり合いを持った両者についてまとめてみることにする。 というのも、最終的にジェネレータを理解するにはイテレータへの理解が欠かせないためだ。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS ... 続きを読む
Python: コマンドラインパーサの Click が便利すぎた - CUBE SUGAR CONTAINER
2015-10-14 Python: コマンドラインパーサの Click が便利すぎた Python Python のコマンドラインパーサといえば、標準ライブラリに組み込まれている argparse が基本。 蛇足になるけど、バージョン 2.7 以前で使われていた optparse は将来的に廃止予定なので新たに使うことは避けた方が良い。 そして、今回紹介する Python のサードパーティ製コマ... 続きを読む
Xvfb を使って仮想ディスプレイを作る - CUBE SUGAR CONTAINER
2016 - 01 - 03 Xvfb を使って仮想ディスプレイを作る CentOS7 X Window System Xvfb (X virtual framebuffer) は X Window System の仮想ディスプレイを作ることのできるソフトウェア。 これを使うと実際にスクリーンがない状態でも GUI が必要なソフトウェアを使えるようになる。 今回使う環境には CentOS7 を選ん... 続きを読む
Linux のシャドウパスワードについて調べた - CUBE SUGAR CONTAINER
ふと Linux ディストリビューションのユーザ認証周りについて気になって、その中でも特にシャドウパスワードについて調べてみた。 シャドウパスワードは Linux に限らず Unix 系のディストリビューションで広く採用されている、ログイン用のパスワードを暗号化する仕組み。 シャドウパスワード自体は Unix 系の色々なデ... 続きを読む
Python: Keras/TensorFlow の学習を GPU で高速化する - CUBE SUGAR CONTAINER
2017 - 02 - 26 Python: Keras/TensorFlow の学習を GPU で高速化する Keras TensorFlow 機械学習 Python DeepLearning Mac OS X Keras というのは Python を使ってニューラルネットワークを組むためのフレームワーク。 Python でニューラルネットワークのフレームワークというと、他にも TensorFl... 続きを読む
Python: python-fire の CLI 自動生成を試す - CUBE SUGAR CONTAINER
2017 - 03 - 07 Python: python-fire の CLI 自動生成を試す Mac OS X Python 今回は Google が公開した python-fire というパッケージを試してみた。 python-fire では、クラスやモジュールを渡すことで、定義されている関数やメソッドを元に CLI を自動で生成してくれる。 ただし、一つ注意すべきなのは、できあがる CLI... 続きを読む
リモートサーバの Jupyter Notebook を SSH Port Forwarding 経由で使う - CUBE SUGAR CONTAINER
一般的に Jupyter Notebook はローカルの環境にインストールして使うことが多い。 ただ、ローカルの環境は計算資源が乏しい場合もある。 そんなとは IaaS などリモートにあるサーバで Jupyter Notebook を使いたい場面が存在する。 ただ、セキュリティのことを考えると Jupyter Notebook の Web UI をインターネットに晒... 続きを読む
Python: matplotlib で動的にグラフを生成する - CUBE SUGAR CONTAINER
今回は matplotlib を使って動的にグラフを生成する方法について。 ここでいう動的というのは、データを逐次的に作って、それを随時グラフに反映していくという意味を指す。 例えば機械学習のモデルを学習させるときに、その過程 (損失の減り方とか) を眺める用途で便利だと思う。 使った環境は次の通り。 $ sw_vers Pro... 続きを読む
Python: RFE (Recursive Feature Elimination) で特徴量を選択してみる - CUBE SUGAR CONTAINER
今回は RFE (Recursive Feature Elimination) と呼ばれる手法を使って特徴量選択 (Feature Selection) してみる。 教師データの中には、モデルの性能に寄与しない特徴量が含まれている場合がある。 アルゴリズムがノイズに対して理想的にロバストであれば、有効な特徴量だけを読み取って学習するため特徴量選択は不要か... 続きを読む
Python: IsolationForest で教師なし学習の外れ値検知を試す - CUBE SUGAR CONTAINER
今回は教師なし学習で外れ値の検知に使える IsolationForest というアルゴリズムを試してみる。 このアルゴリズムの興味深いところは、教師データの中にある程度外れ値が含まれていても構わないという点。 つまり、アノテーションしていないデータをそのまま突っ込むことが許容されている。 IsolationForest のアルゴリ... 続きを読む
dd コマンドの進捗を確認する - CUBE SUGAR CONTAINER
dd コマンドの進捗を確認したいときは macOS であれば SIGINFO を、Linux (GNU Coreutils) であれば SIGUSR1 を送れば良い。 また、GNU Coreutils の dd には status=progress というオプションもある。 macOS まずは macOS から。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.5 Bui... 続きを読む
Python: Keras/TensorFlow で GPU のメモリを必要な分だけ確保する - CUBE SUGAR CONTAINER
2017 - 06 - 07 Python: Keras/TensorFlow で GPU のメモリを必要な分だけ確保する DeepLearning Keras TensorFlow Ubuntu16.04LTS 機械学習 Keras のバックエンドに TensorFlow を使う場合、デフォルトでは一つのプロセスが GPU のメモリを全て使ってしまう。 今回は、その挙動を変更して使う分だけ確保さ... 続きを読む
Python: pandas-profiling でデータセットの概要を確認する - CUBE SUGAR CONTAINER
今回は pandas-profiling というパッケージを使ってみる。 このパッケージを使うと pandas の DataFrame に含まれる各次元の基本的な統計量や相関係数などを一度に確認できる。 最初にデータセットのサマリーを確認できると、その後の EDA (Exploratory Data Analysis: 探索的データ分析) の取っ掛かりにしやすいと思う... 続きを読む
Python: ERAlchemy を使って ER 図を描く - CUBE SUGAR CONTAINER
2017 - 12 - 30 Python: ERAlchemy を使って ER 図を描く Graphviz Mac OS X SQLite 今回は ERAlchemy という ER 図を描くツールを使ってみる。 このツールは erd という Haskell で書かれた同様のツールにインスパイアされて作られたものらしい。 ただ、機能的にできることは ERAlchemy の方が多いみたいだ。 ERA... 続きを読む