Log

LaTeXの環境構築

はじめに

 卒業研究の論文のため、Dockerを用いてLaTeXの環境構築を行う。このページでは、環境構築の一連の流れを記載する。

参考サイト

zenn.dev

環境

Dockerのpull

 以下のコマンドでLaTeXのimageをpullし、無事にpullできているかの確認までを行う。

$ docker pull ghcr.io/being24/latex-docker:latest
$ docker images

 以下の画像のように出力されていれば、無事にpullすることができている。

テンプレートのクローン

 今回はこのレポジトリをクローンする。
 まずはページを開き、画面右上のUse this templateをクリックする。

 続いて、自分のリポジトリにコピーを作成していく。Repository nameに任意の名前を入力するが、今回は指定があるため、「名前-latex-template-ja」とする。

  次に、ローカルにcloneを作成するため、右上のCodeをクリックし、URLをコピーする。

最後に、以下のコマンドでcloneを実行すれば完了である。

$ git clone http://~

main.texの編集

 続いて、main.texの編集を行う。これにより、出力されるpdfの内容を変更することができる。
 今回ではtitleとauthorを変更し、以下のようにする。

\documentclass{classes/resume}

\title{
	\gt{LaTeX 環境の構築}\\
}

\author{
	\gt〇〇大学 〇〇学科}\\
        \gt{学籍番号 名前}
}

\date{}

\begin{document}
\maketitle

% ここに本文をかく
% exampleフォルダを参考にしてください

\end{document}

PDFファイルの作成

 先程作成したmain.texをPDFファイルに変換していく。そのために、まずは初めに作成したファイルに移動する。次にdockerとdocker imageを起動する。

$ cd 名前-latex-template-ja
$ sudo service docker start
$ docker run -it ghcr.io/being24/latex-docker

 これで作成したファイル内へ移動することができたため、VSCode内で処理を行っていく。

$ code .

作成したファイルの確認

 作成したPDFファイルを確認するため、起動したVSCodeのファイルからmain.texを確認する。画像のように表示されれば、LaTeXの環境構築は終了となる。

最後に

 今回はWSL2を用い、LaTeXの環境構築を行った。道中、様々なエラーが発生したため、当初の目標していた時間よりも長くなってしまったが、無事に出力することができた。LaTeXは今後も活用することになるため、忘れないように復習を繰り返そうと思う。

Chapter7 * 自動質問ボット

自動回答システム

今回は、自動回答システムを作成する。
早速、今回使うDocker imageをダウンロードする。

docker pull tomomano/qaobt:latest


このように表記されれば終了である。

質問

それでは、ダウンロードしたものを使用してDockerに質問をしていく。

最後の行が出れば、問題なく回答ができている。

続いて、もう一つ難しい質問をしてみる。

このように出力されれば、無事にボットができている。

スタックのデプロイ

中身が理解できたら、スタックをデプロイしていく。

cd handson/qa-bot

python3 -m venv .env
source .env/bin/activate
pip install -r requirements.txt

cdk deploy

これで、デプロイを行うことができる。

Chapter6 * Docker

はじめに

今回は、以前インストールを行っていたDockerを本格的に使用していく。
Dockerでは、パッケージ化された一つの計算環境のことをイメージ(Image)と呼ぶ。

Imageのダウンロード・起動

では、実際にImageをダウンロードしていく。
ImageがDocker Hubからダウンロードすることができる。
UbuntuのImageはpullコマンドを使うことでダウンロードが可能だ。
そうしてpullしたImageを起動するために、runコマンドを用いる。

docker pull ubuntu:18.04
docker run -it ubuntu:18.04


続いて、前回行ったハンズオンのDLAMIに似た概念である、プログラムがインストールされているものを起動してみる。
pytorchのコンテナが起動したらPythonのシェルを立ち上げてpytorchをインポートする。

docker run -it pytorch/pytorch


これで、Chapter6のハンズオンは終了である。

Chapter5-4 * DLAMI

AWL CLIを用いたリストの取得

ディプラーニングでよく使われるAMIであるDLAMIについてハンズオンを実行していく。
まずは、AWS CLIを使ってリストを取得する。

aws ec2 describe-images --owners amazon

今回はAmazon Linux 2をベースにしたDLAMIを使用する。
「ami-09c0c16fc46a29ed9」がDLAMIのAMI IDである。

aws ec2 describe-images --owners amazon --image-ids "ami-09c0c16fc46a29ed9"

これで、AMIの詳細情報を取得することができる。

スタックのデプロイ

スタックの中身を理解したところで、スタックをデプロイしていく。
まずは、下記のコマンドを入力し、ディレクトリに移動する。

cd handson/mnist

画像のように青文字が表示されれば、無事に移動されたことになる。

続けて、以下のコマンドを実行していき、依存ライブラリのインストールを行う。

python3 -m venv .env
source .env/bin/activate
pip install -r requirements.txt

このコマンドを実行すると、pipのバージョンが古いとのエラーが出たため、次のコマンドを実行して再度先程と同じものを実行した。

pip install --upgrade pip

次に、SSH鍵を生成する。最後にデプロイを実行すれば、このハンズオンは終了となる。

export KEY_NAME="HirakeGoma"
aws ec2 create-key-pair --key-name ${KEY_NAME} --query 'KeyMaterial' --output text > ${KEY_NAME}.pem
mv HirakeGoma.pem ~/.ssh/
chmod 400 ~/.ssh/HirakeGoma.pem

cdk deploy -c key_name="HirakeGoma"

Chapter4 * EC2インスタンス

Pythonの依存ライブラリのインストール

まず、プログラムを実行するためにPythonの依存ライブラリのインストールを行う。
最初に、Ubuntuにて以下のコードを実行し、ディレクトリを移動する。

cd handson/ec2-get-started

これで、画像のように青文字が追加されれば正常に実行できていることになる。

仮想環境の作成

次に、venvを用いて新しい仮想環境を作成する。

python3 -m venv .env
source .env/bin/activate
pip install -r requirements.txt

二行目を実行した際に、下記のように先頭に「(.env)」が追加される。

これで、Pythonの環境構築は完了である。

SSH鍵の生成

続いて、EC2インスタンスを用いるにあたり、SSHを使用してログインする。
今回のハンズオンを実行するために、専用のSSHのを使用してログインする必要がある。
そのために、まずはAWS CLIコマンドで鍵「Hirake Goma」を生成する。

export KEY_NAME="HirakeGoma"
aws ec2 create-key-pair --key-name ${KEY_NAME} --query 'KeyMaterial' --output text > ${KEY_NAME}.pem

上記のコマンドを実行すると、指定しているディレクトリにHirakeGoma.pemという秘密鍵のファイルが生成される。

更に下記のコマンドを実行することにより、第三者に閲覧されないよう、ファイルのアクセス権限を変更する。

mv HirakeGoma.pem ~/.ssh/
chmod 400 ~/.ssh/HirakeGoma.pem

デプロイを実行

ここまで済んだところで、アプリケーションをAWSにデプロイする。

cdk deploy -c key_name="HirakeGoma"

これにより、VPCやEC2等をAWS上に展開することができる。

SSHでログイン

それでは、早速SSHで接続していく。

ssh -i ~/.ssh/HirakeGoma.pem ec2-user@<IP address>1

上記のコマンドを実行すると、AWS上にEC2仮想サーバを起動し、リモートからアクセスできるようにする。

スタックと鍵の削除

最後に、スタックと鍵の削除を行う。
これを行わなければ、EC2インスタンスの料金が発生し続けてしまう。

cdk destroy
aws ec2 delete-key-pair --key-name "HirakeGoma"
rm -f ~/.ssh/HirakeGoma.pem


これで、Chapter4の学習は終了となる。

ソフトウェアの導入2

はじめに

前回同様、Ubuntuを使用して様々な導入を行う。
今回は以下二つのインストールをしていく。

  • Docker
  • WSL CLI

Dockerの導入

Dockerをインストールをするために、以下のコマンドを実行する。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Dockerの設定

続いて、dockerという名前にグループを追加する。
そして使用中のユーザーをdockerグループに加えるために、次のコマンドを実行する。

sudo usermod -aG docker tonatsu

そして、ここで一度ログアウトし、再度ログインをしてから設定の確認をするために下記のコマンドを実行する。

docker run hello-world

sudoなしでコンテナが実行できれば設定は完了となる。


WSL CLIの導入

Dockerの導入を終えたところで、WSL CDKのインストールを行う。

docker run -it tomomano/labc:latest

tonatsu@ht20a067となっていた部分が、root@aws-handsonになっていれば完了である。


<A-6,A-7>

WSL/Ubuntuの導入

WSLのインストール

AWSではじめる クラウド開発入門
を用いてクラウド開発について学んでいく。
今回は開発を行うための環境構築のために、WSLのインストールを行う。

まず、コマンドプロンプトで次のコマンドを入力して実行し、「操作は正常に完了しました。」と表示されるまで待機する。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart


続いて、同じくコマンドプロンプトで下記のコマンドを実行する。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart


画像のように表示されれば、無事にインストールが完了できたと言える。


Linuxのインストール

ここで一度パソコンの再起動を行い、Linux kernel update packageをダウンロードする。

ダウンロード終了後、再度コマンドプロンプトを開き、下記コマンドを実行する。

wsl --set-default-version 2


次に、Microsoft storeで「Ubuntu 20.04 LTS」をインストールする。

インストール後、起動すると初期設定が始まるため、個人でユーザー名とパスワードを設定する。

これでWSL、Linuxのインストールは完了した。


〈A-6〉