小编Liz*_*Liz的帖子

RuntimeError: 输入类型 (torch.FloatTensor) 和权重类型 (torch.cuda.FloatTensor) 应该相同

我正在尝试按如下方式训练以下 CNN,但我一直收到关于 .cuda() 的相同错误,我不知道如何修复它。到目前为止,这是我的一段代码。

import matplotlib.pyplot as plt
import numpy as np
import torch
from torch import nn
from torch import optim
import torch.nn.functional as F
import torchvision
from torchvision import datasets, transforms, models
from torch.utils.data.sampler import SubsetRandomSampler


data_dir = "/home/ubuntu/ML2/ExamII/train2/"
valid_size = .2

# Normalize the test and train sets with torchvision
train_transforms = transforms.Compose([transforms.Resize(224),
                                           transforms.ToTensor(),
                                           ])

test_transforms = transforms.Compose([transforms.Resize(224),
                                          transforms.ToTensor(),
                                          ])

# ImageFolder class to load the train and test images
train_data = datasets.ImageFolder(data_dir, transform=train_transforms)
test_data = datasets.ImageFolder(data_dir, …
Run Code Online (Sandbox Code Playgroud)

python machine-learning python-3.x deep-learning pytorch

79
推荐指数
2
解决办法
8万
查看次数

未在Jupyter笔记本中显示的图表

我已经尝试解决这个问题了好几个小时了。我按照Plotly网站上的步骤进行操作,但笔记本中仍未显示该图表。

这是我的情节代码:

colorway = ['#f3cec9', '#e7a4b6', '#cd7eaf', '#a262a9', '#6f4d96', '#3d3b72', '#182844']

data = [
    go.Scatter(
        x = immigration.columns,
        y = immigration.loc[state],
                   name=state) for state in immigration.index]

layout = go.Layout(
    title='Immigration',
    yaxis=dict(title='Immigration %'),
    xaxis=dict(title='Years'),
    colorway=colorway,
    font=dict(family='Courier New, monospace', size=18, color='#7f7f7f')
)

fig = go.Figure(data=data, layout=layout)
iplot(fig)
Run Code Online (Sandbox Code Playgroud)

这就是我导入到笔记本中的所有内容:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot

init_notebook_mode(connected=True)  
Run Code Online (Sandbox Code Playgroud)

python plotly jupyter-notebook

8
推荐指数
10
解决办法
9239
查看次数

如何在 TensorFlow 中使用我自己的数据将图像拆分为测试集和训练集

我在这里有点困惑......我刚刚花了最后一个小时阅读有关如何在 TensorFlow 中将数据集拆分为测试/训练的内容。我正在按照本教程导入我的图像: https: //www.tensorflow.org/tutorials/load_data/images。显然,可以使用 sklearn: 分为训练/测试model_selection.train_test_split。

但我的问题是:我什么时候将数据集拆分为训练/测试。我已经用我的数据集完成了此操作(见下文),现在怎么办?我该如何分割它?我必须在加载文件之前执行此操作吗tf.data.Dataset?

# determine names of classes
CLASS_NAMES = np.array([item.name for item in data_dir.glob('*') if item.name != "LICENSE.txt"])
print(CLASS_NAMES)

# count images
image_count = len(list(data_dir.glob('*/*.png')))
print(image_count)


# load the files as a tf.data.Dataset
list_ds = tf.data.Dataset.list_files(str(cwd + '/train/' + '*/*'))
Run Code Online (Sandbox Code Playgroud)

另外,我的数据结构如下所示。没有 test 文件夹,没有 val 文件夹。我需要从该火车组中抽取 20% 进行测试。

train
 |__ class 1
 |__ class 2
 |__ class 3
Run Code Online (Sandbox Code Playgroud)

python scikit-learn train-test-split tensorflow2.0

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

类型错误:“_IncompatibleKeys”对象不可调用

我正在为一个多标签分类问题训练一个 CNN,并.pt用torch.save(model.state_dict(), "model.pt"). 对于当我测试了自定义函数模型某种原因,predict(x)这需要图像阵列作为输入,我得到以下错误:TypeError: '_IncompatibleKeys' object is not callable。它指出了下面 cade 的最后一块:y_test_pred = model(images_tensors)。关于这里可能是什么问题的任何想法?

import numpy as np
import cv2
import torch
from torch import nn
import torch.nn.functional as F
import os


class Net(nn.Module):
    def __init__(self, classes_number):
        super().__init__()
        self.ConvLayer1 = nn.Sequential(
            nn.Conv2d(1, 8, 5),  # inp (1, 512, 512)
            nn.MaxPool2d(2),
            nn.ReLU()  # op (8, 254, 254)
        )
        self.ConvLayer2 = nn.Sequential(
            nn.Conv2d(8, 16, 3),  # inp (8, 254, 254)
            nn.MaxPool2d(2),
            nn.ReLU(),
            nn.BatchNorm2d(16) …
Run Code Online (Sandbox Code Playgroud)

python machine-learning neural-network conv-neural-network

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