Singularity から NGC コンテナの jupyter-notebook を使うのはとても簡単です。
NGC コンテナの TensorFlow を使って jupyter-notebook でTensorFlow の Tutorial を試します。
Singularity のインストールと、NGC から TensorFlow を pull する方法はこちらです。

1.Jupyter-notebook の起動

Singularity がインストールされているコンピュータで TensorFlow が pull されているディレクトリに移動して、Singularity で jupyter-notebook を起動します。

dl@dl-machine:~$ cd singularity
dl@dl-machine:~/singularity$ singularity exec --nv tensorflow_20.03-tf2-py3.sif jupyter-notebook
Usage example: change_mofed_version.sh 4.5-1.0.1
[I 09:07:14.952 NotebookApp] The port 8888 is already in use, trying another port.
[I 09:07:14.952 NotebookApp] The port 8889 is already in use, trying another port.
2020-05-10 09:07:15.671982: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.2
2020-05-10 09:07:16.733400: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libnvinfer.so.7
2020-05-10 09:07:16.738110: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libnvinfer_plugin.so.7
[I 09:07:17.561 NotebookApp] jupyter_tensorboard extension loaded.
[I 09:07:17.588 NotebookApp] JupyterLab extension loaded from /usr/local/lib/python3.6/dist-packages/jupyterlab
[I 09:07:17.588 NotebookApp] JupyterLab application directory is /usr/local/share/jupyter/lab
[I 09:07:17.589 NotebookApp] [Jupytext Server Extension] NotebookApp.contents_manager_class is (a subclass of) jupytext.TextFileContentsManager already - OK
[I 09:07:17.590 NotebookApp] Serving notebooks from local directory: /home/dl/singularity
[I 09:07:17.590 NotebookApp] The Jupyter Notebook is running at:
[I 09:07:17.590 NotebookApp] http://hostname:8888/?token=2116145038d71a85266459e5473dd660da4b19a7024ba1ed
[I 09:07:17.590 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 09:07:17.593 NotebookApp] 
    
    To access the notebook, open this file in a browser:
        file:///home/dl/.local/share/jupyter/runtime/nbserver-11701-open.html
    Or copy and paste one of these URLs:
        http://hostname:8888/?token=2116145038d71a85266459e5473dd660da4b19a7024ba1ed
ここで最後に表示された token= の右側の文字列を後で Log In のときに使います。

2.任意のコンピュータから Jupyter-notebook に login

任意のコンピュータでブラウザを立ち上げ、http:// の後に jupyter-notebook を立ち上げたコンピュータのIPアドレス:8888 を入力します。
cuda toolkit download
Jupyter Notebook の Log In 画面が表示されますので Password or token: のところに、Singularity で Jupyter-notebook を立ち上げた最後に表示された行の token= の右側の文字列を入力します。
cuda toolkit download
Log In したら右側中段の New をクリックして、ドロップダウンの Python3 をクリックします。
cuda toolkit download
表示された画面の In [ ] の右側に python のコードを入力して上にある Run ボタンをクリックすると実行されます。
ここでは TensorFlow の tutorials にある Keras による ML の基本にある、基本的な画像分類を試してみます。
ブラウザの新しいウインドウを表示して https://www.tensorflow.org/tutorials/keras/classification を表示します。
cuda toolkit download
グレーに表示されているコードの部分の右上のペーパーマークをクリックすると、コードがクリップボードにコピーされますので、それを Jupyter-notebook の入力画面にペーストして上方の Run ボタンを押します。
cuda toolkit download
実行結果が下に表示され、その下に次の入力画面が表示されます。
同様にして次のコードを入力ー>実行ー>結果表示を繰り返していきます。