Binder에서 Dotnet 노트북 공유
Binder에서 .NET 노트북 공유
바인더란?
Binder은 다른 사람들과 함께 jupyter 노트북을 실행할 수 있는 무료 온라인 서비스입니다. Google Colab과 유사하지만 Google 로그인이 필요하지 않습니다. 실제로 필요한 것은 .ipynb
파일이 있는 공용 리포지토리입니다.
훌륭한 서비스이며 즉시 사용할 수 있는 많은 언어를 지원합니다. Python 노트북을 가동하려면 간단한requirements.txt
파일만 있으면 됩니다. R 또는 Julia를 사용하려는 경우 environment.yml
파일이 적합합니다. Binder의 가이드를 따라 이를 시작하고 실행할 수 있습니다.
.NET에서는 설치가 조금 더 어려울 수 있습니다.
따라서 이 기본 도커 이미지jmacivor/dotnet-binder:0.1.1를 제공하게 되어 기쁩니다. 이 이미지는 .NET SDK와 Binder에서 작업하는 데 필요한 모든 것을 제공합니다. 그런 다음 노트북과 관련 파일을 복사하여 쉽게 실행할 수 있습니다.
Docker를 처음 사용하는 경우 아래에서 만든 것과 유사한 파일을 설정할 수 있습니다. 다시 말하지만 *.ipynb
를 포함하는 저장소의 루트에 이와 같은 것이 필요합니다.
Binder를 사용하면 모든 종류의 리포지토리, 특히 gist 및 github에서 공유 노트북을 만들 수 있습니다. 새로운 github 또는 gist를 설정할 수 있습니다. 노트북에 복사하는 Dockerfile이 있는 한 아무 문제가 없습니다!
FROM jmacivor/dotnet-binder:0.1.1
ARG NB_USER=jovyan
ARG NB_UID=1000
USER $NB_USER
ENV HOME=/home/$NB_USER
WORKDIR $HOME
COPY ml_net_simple_regression.ipynb $HOME/ml_net_simple_regression.ipynb
COPY Salary_Data.csv $HOME/Salary_Data.csv
gist 을 확인하십시오.
노트북을 로컬에서 설계하고 테스트하려면 my guide for getting setup with Jupyter Notebooks.을 따르십시오.
위의 Dockerfile에서 사용된 기본 이미지를 만드는 데 약간의 노력이 필요했습니다. 그 내용이 궁금하시다면 아래에서 확인해보세요. 확실히 개선의 여지가 있습니다.
이 기본 이미지는 다음과 같은 변경 사항을 활용할 수 있습니다.
FROM jmacivor/dotnet-binder:0.1.1
ARG NB_USER=jovyan
ARG NB_UID=1000
USER $NB_USER
ENV HOME=/home/$NB_USER
WORKDIR $HOME
COPY ml_net_simple_regression.ipynb $HOME/ml_net_simple_regression.ipynb
COPY Salary_Data.csv $HOME/Salary_Data.csv
다음은 gist 입니다.
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-focal
USER root
RUN cd /tmp
# now get the key:
RUN wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
# now install that key
RUN apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
# now remove the public key file exit the root shell
RUN rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
# we have to get this because the linux mlnet nuget expects a dependency that only ships with windows.
# so we add the public key as shown above and apt-get install intel-mkl-64bit-2020.0.088
RUN sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get -y install python3 python3-pip python3-dev ipython3 intel-mkl-64bit-2020.0-088
RUN find /opt -name "libiomp5.so"
RUN ldconfig /opt/intel/compilers_and_libraries_2020.0.166/linux/compiler/lib/intel64_lin/
RUN pip3 install --no-cache notebook
ARG NB_USER=jovyan
ARG NB_UID=1000
RUN useradd -m -s /bin/bash -N -u $NB_UID $NB_USER
USER $NB_USER
ENV HOME=/home/$NB_USER
WORKDIR $HOME
ENV PATH="${PATH}:$HOME/.dotnet/tools/"
RUN dotnet tool install -g --add-source "https://dotnet.myget.org/F/dotnet-try/api/v3/index.json" dotnet-interactive
RUN dotnet-interactive jupyter install
그건 그렇고, dotnet-interactive에는 자체Dockerfile for Binder.가 있습니다. Binder용으로 만들어진 기본 이미지에서 시작하여 거기에서 .NET 종속성과 .NET을 설치하는 완전히 다른 방향으로 이동합니다. 이 방법을 시도했지만 그 과정에서 많은 문제를 발견했습니다. 그래도 이런 식으로 시도해 볼 수 있습니다. Binder 서버를 시작하는 시간은 사용하는 접근 방식에 관계없이 거의 동일한 것으로 보입니다.
Reference
이 문제에 관하여(Binder에서 Dotnet 노트북 공유), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/robotoptimist/share-your-dotnet-notebooks-on-binder-274e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)