LoginSignup
1
0

More than 3 years have passed since last update.

敢えてRubyで学ぶ「ゼロから作るDeep Learning」Docker環境構築編

Last updated at Posted at 2020-02-08

Dockerの環境構築

やること

  • ローカルのワーキングディレクトリを作成
  • DockerでRubyの環境を作成
  • Dockerで作成したワーキングディレクトリをマウントして環境に入る
  • Dockerに必要なパッケージ等をインストール
    • gnuplot & numo-gnuplot
      • プロット用
    • numo-narray
      • 行列計算 & 基礎的な数学の関数(sin cos exp等)

Docker環境を作って、ワーキングディレクトリをマウントする所まで

実行コマンド

# ローカルにワーキングディレクトリを作成
local$ mkdir working_dir
# RubyのDockerイメージを取得
local$ docker pull ruby:latest
# ワーキングディレクトリをマウントしてDocker環境に入る
local$ docker run -v /(workingディレクトリをおいているパス)/working_dir/:/working_dir/ -it ruby /bin/bash

なぜワーキングディレクトリをマウントしておくか

gnuplotで出力したファイルを、Dockerファイルシステムの外で簡単に確認できる。ローカル環境にコピーするコマンドを叩かず、手元の環境(macOS)のプレビューアプリ等で出力したpngイメージを確認できるので便利。他にも、特に設定せずに、自分のお気に入りのエディタを使えるのもよい。

Dockerに必要なパッケージ等をインストール

# gunuplotのインストール
docker$ apt update -y && apt upgrade -y && apt install -y gnuplot
# 各種gemのインストール
docker$ gem install numo-narray numo-gnuplot

とりあえず動かしてみる

ローカルのワーキングディレクトリに先人の記事のファイルをそのまま作成

Python vs Ruby 『ゼロから作るDeep Learning』 1章 sin関数とcos関数のグラフ
https://qiita.com/niwasawa/items/6d9aba43f3cdba5ca725

# ワーキングディレクトリへ移動
docker$ cd working_dir
# 作ったファイルがあるかの確認
docker:working_dir$ ls
sin_cons.rb # ←ちゃんとローカルで作ったファイルがある
# 実行
docker:working_dir$ ruby sin_cos.rb
docker:working_dir$ ls
ruby_graph.png  sin_cons.rb # ← 出力されている

結果

中身の確認。問題なくできた。
ruby_graph.png

備考:なぜRuby?

鳥取県米子市出身で、松江にサテライトオフィスを持つ企業で働いている為。
松江といえばMatzさん、Rubyの聖地。仕事でもRubyをつかうしね。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0