sagantaf

IT関連の技術記事を書くブログ。

2019-01-01から1年間の記事一覧

Dockerのネットワークの仕組み

はじめに 前回は、Docker/Kubernetesを扱う上で必要なネットワークの基礎知識ということで、 階層構造 プロトコルの詳細と通信の流れ MACアドレスとIPアドレス ネットワーク機器の種類 VLAN iptables network namespace について解説しました。 リンクは以下…

Docker/Kubernetesを扱う上で必要なネットワークの基礎知識(その2)

はじめに DockerやKubernetesを使ってマイクロサービスなどを構築する時に必要になるネットワークの基礎知識まとめ、その2です。 その1は下記です。 sagantaf.hatenablog.com 今回のその2では、 VLAN network namespace iptables について記載しています。…

Docker/Kubernetesを扱う上で必要なネットワークの基礎知識(その1)

はじめに DockerやKubernetesを使ってマイクロサービスなどを構築する時には、必ずネットワーキングが必要になります。そのために必要な基礎知識をまとめておきました。 テーマは、 階層構造 プロトコルの詳細と通信の流れ MACアドレスとIPアドレス ネットワ…

Docker入門〜dockerとdocker-composeのインストール方法

はじめに dockerとdocker-composeをインストールする方法を記載します。 検証環境はUbuntu16.04です。 はじめに dockerのインストール docker-composeのインストール おわりに dockerのインストール まずは、必要なパッケージをインストールします。 sudo ap…

強化学習のコーディングをする上で便利なdefaultdictの使い方

強化学習の勉強を進める上で、defaultdictをよく使うので、簡単に使い方を残しておきます。 まずはimportします。 In [1]: from collections import defaultdict さて、例えば強化学習させる環境の行動(action)が、UP、DOWN、LEFT、RIGHTを取れるとします。 …

Rancher構築(オンプレ/Ubuntu)

はじめに 前回構築したKubernetesクラスタをRancherにて管理するため、環境を構築していきます。 前回の記事は下記です。 sagantaf.hatenablog.com 環境は、オンプレ、Ubuntuの前提です。 1. Rancherコンテナの構築 2.既存Kubernetesクラスタの追加 3. アプ…

Kubernetesクラスタ構築(オンプレ/Ubuntu)

はじめに 以前、KubernetesをDocker for Macを使って構築してみました。(下の記事) sagantaf.hatenablog.com 今回は、Ubuntu環境にKubernetesクラスタを構築したいと思います。 Ubuntu16.04, 18.04どちらも構築できることを確認済みです。 なお、クラウドの…

コンテナセキュリティのリスクと対策

はじめに コンテナ技術のセキュリティリスクとは コンテナのライフサイクルから見えるリスクと対策 コンテナ周りのコンポーネントから見えるリスクと対策 まとめ 参考資料 はじめに 最近のDockerやKubernetesの発展により、コンテナを利用したサービスやシス…

Kubernetes入門〜Docker for Mac でKubernetesをインストールしJupyter notebookを起動してみる

はじめに Macを使って手軽にKubernetesを体験してみるための手順です。 はじめに 環境 Docker for Mac のインストール Kubernetes環境を構築する contextの切り替え Jupyter notebookを起動するためのマニフェストファイルを作成する デプロイの実施 アクセ…

シェルスクリプトとプログラミング言語の関係は?

答え 解説 スクリプト言語 コンパイル言語 それぞれのメリデメ まとめ 意外と分からなくなる人が多いはず…と思ってまとめました。 答え シェルスクリプトはプログラミング言語のひとつ。 解説 そもそもプログラミング言語には、スクリプト言語とコンパイル言…

RNNとLSTMを理解する

この記事の目的 0. 通常のNeural NetworkやConvolutional Neural Networkの問題 1. RNN (Recurrent Neural Network) 2. 勾配消失(爆発)問題 3. LSTM (Long-short term model) 入力ゲートと出力ゲートはなんのために用意されたか? 忘却ゲートはなんのために…

CNN(Convolutional Neural Network)を理解する

この記事の目的 0. 通常のニューラルネットワークの問題 1. CNNの基本 2. 畳み込み層(Convolutional層) フィルタのサイズをどうするか どうフィルタを適用していくか(ストライド) 出力サイズをどうするか(パディング) データ形状の変化 畳み込みまとめ…

TensorflowをGPUで使おうとして「CUBLAS_STATUS_NOT_INITIALIZED」というエラーが出たら

環境: Docker上でubuntu16.04のコンテナを起動 GPU:TITAN V nvidia-driver: 390 cuda: 9.1 エラー内容 tensorflow-gpuをインストールした時に、下記のエラーが発生することがあります。 E tensorflow/stream_executor/cuda/cuda_blas.cc:366] failed to crea…

pandas〜欠損値扱いの数値をNaNに変換する

-1や999など欠損値として格納されているデータをpandasのreplaceを使ってNaNに変換する方法を書く。 サンプルデータフレームの作成 まずはサンプルのために簡単なデータフレームを作成する。 欠損値は、-1, 999, 1000とする。 import pandas as pd df = pd.D…

pandas〜データフレームをpickleファイルとして保存し効率的に開発する

pandasでデータを読み込んで色々手を加えたデータフレームをpickleファイルとして保存(ダンプ)する方法を書く。 毎回 jupyter-notebookを開いたときに最初から実行せずに、保存しておいた編集済みのpickleファイルを読み込むことで、かなりの時短になる。 …