我想使用个人数据库在PyTorch上训练一个简单的神经网络.此数据库从Excel文件导入并存储在df
.
其中一列被命名"Target"
,它是网络的目标变量.如何使用此数据框作为PyTorch神经网络的输入?
我试过这个,但它不起作用:
target = pd.DataFrame(data = df['Target'])
train = data_utils.TensorDataset(df, target)
train_loader = data_utils.DataLoader(train, batch_size = 10, shuffle = True)
Run Code Online (Sandbox Code Playgroud) 我想将整数张量转换为布尔值张量。
具体来说,我希望能够拥有一个转换tensor([0,10,0,16])
为tensor([0,1,0,1])
这在 Tensorflow 中只需使用tf.cast(x,tf.bool)
.
我希望强制转换将所有大于 0 的整数更改为 1,并将所有等于 0 的整数更改为 0。这!!
在大多数语言中都是等价的。
由于 pytorch 似乎没有专用的布尔类型可以转换,这里最好的方法是什么?
编辑:我正在寻找一个矢量化的解决方案,而不是遍历每个元素。
在 PyTorch 中,以下两种方法向 GPU 发送张量(或模型)有什么区别:
设置:
X = np.array([[1, 3, 2, 3], [2, 3, 5, 6], [1, 2, 3, 4]]) # X = model()
X = torch.DoubleTensor(X)
Run Code Online (Sandbox Code Playgroud)
方法一 | 方法二 |
---|---|
X.cuda() |
device = torch.device("cuda:0") X = X.to(device) |
(我真的不需要对后端发生的事情进行详细解释,只想知道它们是否本质上都在做同样的事情)