« ScrapBook及びSave Page WEで保存したWebページをApache Solrで検索できるようにしてみた(その2) | トップページ | 自分のブログをベクトルにして分布をみた(1) »

2020.07.23

Dockerを使ったJupyter Labの環境を用意する

記事分析のため、この度機械学習の環境を用意してみました。
開発環境としてJupyter Labを使うこととし、sklearn, gensim, wordcloud等を使ってみます。
Jupyter Labを導入し、nodejs及びextensionをインストールして有効にします。

今回は主に次のサイトを参考にDockerfileを作成しました。ありがとうございます。
Docker + MeCab + JupyterLabによる分析環境の構築:UUUM攻殻機動隊(エンジニアブログ)

Dockerfile


# Python機械学習プログラミング環境設定
FROM python:3.7
LABEL maintainer “tonop”

# Install dependencies
RUN apt-get update && apt-get install -y \
apt-utils \
python3-setuptools \
mecab libmecab-dev mecab-ipadic-utf8 \
git curl

# Install nodejs
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - \
&& apt-get install -y nodejs

RUN apt-get clean && \
rm -rf /var/lib/apt/lists/*

# Install Python library for Data Science
RUN pip --no-cache-dir install \
autopep8 \
jupyterlab_code_formatter \
sklearn \
jupyterlab \
ipykernel \
scipy \
numpy \
matplotlib \
pandas \
nltk \
mecab-python3 \
gensim \
wordcloud \
&& \
python -m ipykernel.kernelspec

# Set up Jupyter Notebook config
ENV CONFIG /root/.jupyter/jupyter_notebook_config.py
ENV CONFIG_IPYTHON /root/.ipython/profile_default/ipython_config.py

# JupyterLab Extension
RUN jupyter labextension install @jupyterlab/toc \
@lckr/jupyterlab_variableinspector \
@ryantam626/jupyterlab_code_formatter \
@jupyter-widgets/jupyterlab-manager && \
jupyter serverextension enable --py jupyterlab_code_formatter && \
jupyter labextension enable toc jupyterlab_variableinspector \
jupyterlab-manager && \
jupyter notebook --generate-config --allow-root && \
ipython profile create

RUN echo "c.NotebookApp.ip = '*'" >>${CONFIG} && \
echo "c.NotebookApp.port = 8888" >>${CONFIG} && \
echo "c.NotebookApp.open_browser = False" >>${CONFIG} && \
echo "c.NotebookApp.allow_root = True" >>${CONFIG} && \
echo "c.NotebookApp.iopub_data_rate_limit=10000000000" >>${CONFIG} && \
echo "c.MultiKernelManager.default_kernel_name = 'python3'" >>${CONFIG}

RUN echo "c.InteractiveShellApp.exec_lines = ['%matplotlib inline']" >>${CONFIG_IPYTHON}

# port
EXPOSE 8888

# Run Jupyter Notebook
WORKDIR "/root/work"
CMD ["jupyter", "lab"]

このDockerfileを使ってDockerイメージを作成します。


$ docker build -t mta2:0.3 ./

ここでは、定番といえるextension、@jupyterlab/toc, @lckr/jupyterlab_variableinspector, @ryantam626/jupyterlab_code_formatter, @jupyter-widgets/jupyterlab-managerを導入しました。

こうして作成したDockerイメージを使ってコンテナを起動します。
2020072301

extensionタブを選択します。
2020072302

DisclaimerをEnableにするとインストール済みextensionと検索対象のextensionが表示されます。
2020072304

新しくコードを記述します。
2020072305

次回は、この環境を使ってテキスト分析をしてみます。

|

« ScrapBook及びSave Page WEで保存したWebページをApache Solrで検索できるようにしてみた(その2) | トップページ | 自分のブログをベクトルにして分布をみた(1) »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« ScrapBook及びSave Page WEで保存したWebページをApache Solrで検索できるようにしてみた(その2) | トップページ | 自分のブログをベクトルにして分布をみた(1) »