小编vpa*_*pap的帖子

Hadoop Streaming:Chaining Jobs

问题是如何使用Hadoop Streaming(仅限)在Hadoop中链接作业.

streaming hadoop chaining

16
推荐指数
1
解决办法
5958
查看次数

运行时错误:模块必须在设备 cuda:1 (device_ids[0]) 上具有其参数和缓冲区,但在设备上找到其中之一:cuda:2

我有 4 个 GPU(0,1,2,3),我想在 GPU 2 上运行一个 Jupyter notebook,在 GPU 0 上运行另一个。因此,在执行之后,

 export CUDA_VISIBLE_DEVICES=0,1,2,3
Run Code Online (Sandbox Code Playgroud)

对于我做的 GPU 2 笔记本,

device = torch.device( f'cuda:{2}' if torch.cuda.is_available() else 'cpu')
device, torch.cuda.device_count(), torch.cuda.is_available(), torch.cuda.current_device(), torch.cuda.get_device_properties(1)
Run Code Online (Sandbox Code Playgroud)

在创建新模型或加载一个模型后,

model = nn.DataParallel( model, device_ids = [ 0, 1, 2, 3])
model = model.to( device)
Run Code Online (Sandbox Code Playgroud)

然后,当我开始训练模型时,我得到,

RuntimeError                              Traceback (most recent call last)
<ipython-input-18-849ffcb53e16> in <module>
 46             with torch.set_grad_enabled( phase == 'train'):
 47                 # [N, Nclass, H, W]
 ---> 48                 prediction = model(X)
 49                 # print( prediction.shape, y.shape)
 50 …
Run Code Online (Sandbox Code Playgroud)

parallel-processing pytorch

13
推荐指数
1
解决办法
1万
查看次数

Google Colab 运行时错误:cuDNN 错误:CUDNN_STATUS_NOT_INITIALIZED

昨天和今天运行与过去几个月运行相同的 Python 笔记本,出现错误

/usr/local/lib/python3.6/dist-packages/torch/autograd/__init__.py in backward(tensors, grad_tensors, retain_graph, create_graph, grad_variables)
 97     Variable._execution_engine.run_backward(
 98         tensors, grad_tensors, retain_graph, create_graph,
 ---> 99         allow_unreachable=True)  # allow_unreachable flag
100 
101 

RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
Run Code Online (Sandbox Code Playgroud)

代码中此错误似乎是随机的点,因为它从尝试更改。从我搜索的内容来看,它看起来是一个兼容性问题。

另外,如果我重新运行单元格,我可能会收到另一个错误,即

/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py in __next__(self)
346         data = self._dataset_fetcher.fetch(index)  # may raise StopIteration
347         if self._pin_memory:
--> 348             data = _utils.pin_memory.pin_memory(data)
349         return data
350 

/usr/local/lib/python3.6/dist-packages/torch/utils/data/_utils/pin_memory.py in pin_memory(data)
 53         return type(data)(*(pin_memory(sample) for sample in data))
 54     elif isinstance(data, container_abcs.Sequence):
 ---> 55         return [pin_memory(sample) for sample in data]
 56     elif hasattr(data, "pin_memory"): …
Run Code Online (Sandbox Code Playgroud)

python google-colaboratory

5
推荐指数
1
解决办法
4925
查看次数

Python 灰度图像转RGB

我有一个灰度图像作为 numpy 数组,具有以下属性

shape = ( 3524, 3022), dtype = float32, min = 0.0, max = 1068.16

绘制的灰色图像plt.imshow( gray, cmap = 'gray, vmin = 0, vmax = 80)看起来像这样,

在此输入图像描述

我想把它转换成RGB。我尝试了多种方法,例如 np.stack、cv2.merge、cv2.color 创建 3D np.zeros 图像并将灰度图像分配给每个通道。当我绘制 3D 图像时,我得到的图像非常暗淡,并且根本看不到“斑点”。我也尝试将其范围转换为 [ 0, 1] 或 [ 0, 255] 范围但无济于事。

使用 np.stack plt.imshow( np.stack(( new,)*3, axis = 2)),我得到这个,

在此输入图像描述

我应该怎么办?提前致谢!

python opencv matplotlib grayscale imshow

3
推荐指数
1
解决办法
8602
查看次数

Docker 教程“入门”不起作用

我有 Ubuntu 20.04、Mozilla Firefox 87.0、Google Chrome 89.0.4389.90。

我正在尝试运行 Docker入门教程。我读了一些来自堆栈溢出的帖子,但无济于事。我还检查了这个ToDo 应用程序 (localhost:3000) 在浏览器 #9 中没有显示 UI,并且再次在此处输入链接描述无效。我愿意,

sudo docker build -t getting-started . sudo docker run -dp 3000:3000 getting-started

然后当我去的时候 http://localhost:3000我得到,

在火狐浏览器中, 在此输入图像描述

在 Chrome 中,以下图像交替出现, 在此输入图像描述 在此输入图像描述

当我跑步时,sudo docker ps -a我得到, 在此输入图像描述

最后,您有什么适合初学者的 Docker 教程吗?我想对Docker有足够的了解,以便我可以编写脚本来管理docker镜像。

docker

3
推荐指数
1
解决办法
3646
查看次数

将用户指定的参数传递给DataLoader

我正在使用 U-Net 并实现 2015 年(U-Net:用于生物医学的卷积网络\n图像分割)和 2019 年(U-Net \xe2\x80\x93 用于细胞计数、检测的深度学习)的论文中描述的加权技术,和形态测量)。在该技术中,存在方差 \xcf\x83 和权重 w_0。我希望,尤其是 \xcf\x83 成为一个可学习的参数,而不是猜测数据集之间哪个值最好。

\n
    \n
  1. 根据我的发现,我可以使用 nn.Parameter 来做到这一点。
  2. \n
  3. 为了使用学习到的 \xcf\x83 从一个纪元到另一个纪元,我需要以某种方式通过 DataLoader 将这个新值传递给 DataSet 的 get_item 函数。
  4. \n
\n

我目前对此的看法是扩展 torch.utils.data.DataLoader ,其中新的init有一个额外的参数接受用户指定/可学习的参数。鉴于 torch.utils.data.DataLoader 的源代码,我不明白 DataLoader 在何处以及如何调用 DataSet 实例并因此传递这些参数。

\n

代码方面,在 DataSet 定义中有该函数

\n
def __getitem__(self, index):\n
Run Code Online (Sandbox Code Playgroud)\n

我可以改变为

\n
def __getitem__(self, index, sigma):\n
Run Code Online (Sandbox Code Playgroud)\n

并利用更新后的、新学习的\xcf\x83。

\n

我的问题是,在训练期间,我迭代训练数据集

\n
for epoch in range( checkpoint[ 'epoch'], num_epochs):\n....\n    for ii, ( X, y, y_weight, fname) in enumerate( dataLoader[ phase]):\n …
Run Code Online (Sandbox Code Playgroud)

parameter-passing pytorch dataloader

2
推荐指数
1
解决办法
3330
查看次数