问题标签 [torchvision]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
520 浏览

neural-network - 用于训练神经网络的 Pytorch 加载图像和地面实况图像

我正在尝试使用自定义图像数据来训练和测试 pytorch 神经网络。我有一个图像文件夹作为数据,另一个文件夹图像作为基本事实。文件和地面实况图像具有相同的名称,但它们位于单独的文件夹中。我想将它们用作图像和地面实况作为对,例如,1.jpg 馈送到网络,htis 图片的结果应该与其他 1.jpg(其地面实况)进行比较。我希望我的神经网络输出是图像而不是分类(如图像到图像转换或 pix2pix)。

我已经尝试过 pytorch dataloader 和其他一些文档,但它们不是我需要的。我试过的一些文档:

https://www.kaggle.com/leighplt/pytorch-tutorial-dataset-data-preparetion-stage

https://towardsdatascience.com/building-efficient-custom-datasets-in-pytorch-2563b946fd9f

https://pytorch.org/tutorials/beginner/data_loading_tutorial.html

0 投票
0 回答
367 浏览

pytorch - DataLoader PyTorch 的参数张量无效

我使用 PyTorchDataLoader和制作了一个数据集Imagefolder,我的数据集类有两个 ImageFolder 数据集。这两个数据集是成对的(原始图像和地面实况图像)。我想将这些提供给 PyTorch 神经网络。

数据集类:

我正在使用 Imagefolder 加载图像:

然后我尝试分批迭代:

发生了这个错误:

RuntimeError:无效参数 0:张量的大小必须匹配,但维度 0 除外。在 ..\aten\src\TH/generic/THTensor.cpp:711 的维度 2 中得到 321 和 481

数据集是 BSDS500:

https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html

数据集中的所有图像都是 481x321 或 321x481 像素。我认为需要进行一些转换,但我不想拆除图像并拉伸它们。

完整追溯:

0 投票
1 回答
411 浏览

pytorch - Torchvision 规范化 - 它如何在手段/sds 的元组上运行?

我不明白这种转换是如何从torchvision 进行的。最终我想建立一个自定义的规范化类,所以我需要先弄清楚它是如何工作的。

在文档中,它描述了这样的初始化:

当我通常传递这些参数(不是自定义类)时,我将它们作为每个通道的列表或元组传递:

transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])

但是,如果我看一下电话:

return F.normalize(tensor, self.mean, self.std, self.inplace)

所有这些都将元组传递给 F.normalize() ,它只接受 p 参数的单个值。

该类必须以某种方式遍历通道以允许实现这一点,但它是如何做到这一点的,我如何在自定义类中实现它?

基于本教程,我将这样描述它:

但这不起作用,因为它不会通过每个渠道。

0 投票
1 回答
744 浏览

pytorch - Pytorch 使用自定义数据集和 collat​​e_fn() 向模型提供数据加载器批处理不起作用

您好我已经使用原始和目标是图像的数据集类创建了一个自定义数据集,例如语义分割和 pix2pix,我正在使用 Imagefolder 和自定义整理功能加载数据集,并且我正在尝试使用数据加载器加载我的自定义数据集以训练神经网络,但发生错误说输入应该是张量而不是列表:

我的整理功能

数据集类:

加载数据集:

并且发生了这个错误:

我正在尝试将批次的每个实例转发到模型中。迭代中的批次是列表,但它应该是张量我不知道如何将其转换为张量或加载批次的每个实例。请帮忙。非常感谢。

完整追溯:

0 投票
2 回答
13502 浏览

python - PyTorch [1 if x > 0.5 else 0 for x in outputs ] with tensors

I have a list outputs from a sigmoid function as a tensor in PyTorch

E.g

As I'm doing binary classification I want to turn all values bellow 0.5 to 0 and above 0.5 to 1.

Traditionally with a NumPy array you can use list iterators:

This would work, however I have to later convert output_prediction back to a tensor to use

Where labels.data is a binary tensor of labels.

Is there a way to use list iterators with tensors?

0 投票
1 回答
481 浏览

python - 如何从模型本身发现火炬模型名称?

我正在以这种方式创建一个内置的火炬模型:

然后我想使用变量 m 发现模型的名称(在本例中为 resnet50)。打电话时,type(m)我得到torchvision.models.resnet.ResNet的答案几乎是答案,但深度对我来说也很重要。我可以尝试迭代m.modules(以这种方式有 151 个模块长)并推断 resblocks 深度,但这在其他模型(如 inception、alexnet 等)中的工作方式完全不同。

0 投票
3 回答
7893 浏览

cuda - libcudart.so.9.0:无法打开共享对象文件:没有这样的文件或目录

我在 Ubuntu 18.04 下使用 Pytorch 并尝试使用import torchvision,但出现错误libcudart.so.9.0: cannot open shared object file: No such file or directory

有人可以帮忙解决吗?谢谢。

以下信息是详细的错误日志:

0 投票
3 回答
12495 浏览

python - 如何在 Pytorch 中使用 torchvision.transforms 对分割任务进行数据增强?

我对 PyTorch 中执行的数据增强有点困惑。

因为我们处理的是分割任务,所以我们需要数据和掩码进行相同的数据增强,但其中一些是随机的,例如随机旋转。

Kerasrandom seed保证 data 和 mask 做同样的操作,如下代码所示:

我在Pytorch官方文档中没有找到类似的描述,所以不知道如何保证数据和掩码可以同步处理。

Pytorch 确实提供了这样的功能,但我想将其应用于自定义 Dataloader。

例如:</p>

在这种情况下,img 和 mask 会分别进行变换,因为一些随机旋转等操作是随机的,所以 mask 和 image 的对应关系可能会发生变化。换句话说,图像可能已经旋转,但蒙版没有这样做。

编辑 1

我用了augmentations.py中的方法,但是报错了:</p>

这是我的代码__getitem__():</p>

编辑 2

我发现在ToTensor之后,相同标签之间的骰子变成255而不是1,如何解决?

随意询问是否需要更多代码来解释问题。

0 投票
1 回答
108 浏览

python - 找不到满足要求的版本 torch>=1.1.0

当我尝试使用以下命令安装 torchvision

我在命令行工具中收到以下错误。如果有人可以提出建议,那就太好了。我找不到问题出在哪里!

0 投票
0 回答
103 浏览

python - Pytoch,在 macOS Catalina 问题上导入 TorchVision

我在 macOS Catalina 上安装了模块 torchvision,但是如果我尝试运行一个带有“import torchvision”的 python3 程序,它会给我一个错误。

在这里我可以看到模块已安装,但是如果我运行它:

它说

我究竟做错了什么?