动手实践——docker中利用jupyter对数据增强操作进行可视化

整体流程

docker容器内搭建合适环境 -> 开启jupyter notebook -> 浏览器里敲数据增强操作代码 ->可视化

搭建环境

参考博客 https://segmentfault.com/a/1190000007448177

1. 启动容器

2. 安装 openssh-server: 

apt-get install openssh-server

3. 编辑配置文件 /etc/ssh/sshd_config,注释掉配置文件中的"PermitRootLogin without-password",再增加一句"PermitRootLogin yes"使得root用户可以远程登录。

4. 将这个容器commit生成一个新镜像

5. 根据新镜像启动新容器,加上端口映射,例如:

docker run --rm -it  -p 7777:8888 --name jupyter-notebook ubuntu:14.04-sshd bash

6. 容器中安装jupyter notebook

#更新apt-get环境
apt-get update

#安装python dev包
apt-get install python-dev

#安装jupyter
pip install jupyter

7. jupyter配置:先用ipython设置密码,再修改配置文件

#生成jupyter配置文件,这个会生成配置文件.jupyter/jupyter_notebook_config.py
jupyter notebook --generate-config

#使用ipython生成密码
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password: 
Verify password: 
Out[2]: 'sha1:38a5ecdf288b:c82dace8d3c7a212ec0bd49bbb99c9af3bae076e'

#去配置文件.jupyter/jupyter_notebook_config.py中修改以下参数
c.NotebookApp.ip='*'                          #绑定所有地址
c.NotebookApp.password = u'上述生成的长密码'
c.NotebookApp.open_browser = False            #启动后是否在浏览器中自动打开
c.NotebookApp.port =8888                      #指定一个访问端口,默认8888,注意和映射的docker端口对应

8. 到此搭建环境工作就完成了

运行jupyter notebook对数据增强操作可视化

1. 容器命令行,先cd到指定路径,再开启jupyter notebook

jupyter notebook --allow-root 

2. 打开浏览器,输入数据增强代码

import torch
import numpy as np
import matplotlib.pyplot as plt
from torchvision import transforms
from torchvision.datasets.folder import default_loader


img_path = '/test/XXX.jpg'
x=default_loader(img_path)

# 测试RandAugment
from RandAugmentcrx import RandAugment
normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406],
                                      std=[0.229, 0.224, 0.225])
transform = transforms.Compose([
        transforms.RandomHorizontalFlip(0.5),
        transforms.RandomRotation(20),
        transforms.ToTensor(),
        normalize])
transform.transforms.insert(0, RandAugment(1, 9))

plt.figure(figsize=(80, 80))


for k in range(40):
#     print(k)v

    img = transform(x)
    img=img.numpy().transpose((1,2,0))
    plt.subplot(8, 5,k+1)
    plt.imshow(img)

运行

就可以看到数据增强效果。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Anaconda Docker打开Jupyter,您可以按照以下步骤操作: 1. 首先,确保您已经安装了Docker并成功启动了Docker服务。 2. 打开终端或命令提示符,并运行以下命令从Docker Hub下载Anaconda镜像: ``` docker pull continuumio/anaconda3 ``` 3. 下载完成后,运行以下命令启动一个新的容器并打开Jupyter Notebook: ``` docker run -it -p 8888:8888 continuumio/anaconda3 /bin/bash -c "jupyter notebook --ip='0.0.0.0' --port=8888 --allow-root" ``` 这将启动一个新的容器,并将主机的8888端口映射到容器的8888端口。您可以根据需要更改主机端口。 4. 在终端,您会看到类似于以下内容的输出: ``` [I 08:58:17.293 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret [I 08:58:17.836 NotebookApp] JupyterLab extension loaded from /opt/conda/lib/python3.8/site-packages/jupyterlab [I 08:58:17.836 NotebookApp] JupyterLab application directory is /opt/conda/share/jupyter/lab [I 08:58:17.837 NotebookApp] Serving notebooks from local directory: /notebooks [I 08:58:17.837 NotebookApp] Jupyter Notebook 6.4.3 is running at: [I 08:58:17.837 NotebookApp] http://(xxx or 127.0.0.1):8888/?token=xxx [I 08:58:17.837 NotebookApp] or http://(xxx or 127.0.0.1):8888/?token=xxx [I 08:58:17.837 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). ``` 5. 复制其一个URL(类似于`http://(xxx or 127.0.0.1):8888/?token=xxx`)到您的Web浏览器,并在其输入密码。默认密码是`root`。 6. 在Jupyter Notebook的界面,您可以创建、编辑和运行代码。 请注意,关闭终端窗口将停止并删除正在运行的容器。如果您希望在后台运行容器,请使用`-d`标志: ``` docker run -it -p 8888:8888 continuumio/anaconda3 /bin/bash -c "jupyter notebook --ip='0.0.0.0' --port=8888 --allow-root" -d ``` 这样,容器将在后台运行,并且您可以使用`docker stop`命令手动停止它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值