Help us understand the problem. What is going on with this article?

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

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をつかうしね。

michihito_t
地方で生きていきたいWebエンジニア。地方移住や暮らし方、そしてAI等を勉強中。昔はGoogle Analyticsとかをかつかつチューニングしていた。今でもそこそこGoogle Tag Managerやアクセス解析も行う。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした