小编Nic*_*ais的帖子

无法在仅 tensorflow CPU 安装上加载动态库“cudart64_101.dll”

我刚刚通过安装了最新版本的 Tensorflow pip install tensorflow,每当我运行程序时,我都会收到日志消息:

W tensorflow/stream_executor/platform/default/dso_loader.cc:55] 无法加载动态库“cudart64_101.dll”;dlerror: 找不到 cudart64_101.dll

这很糟糕吗?如何修复错误?

python python-3.x keras tensorflow tensorflow2.0

113
推荐指数
8
解决办法
25万
查看次数

model.eval() 在 pytorch 中有什么作用?

我正在使用此代码,并且model.eval()在某些情况下看到了。

我知道它应该允许我“评估我的模型”,但我不明白什么时候应该和不应该使用它,或者如果关闭如何关闭。

我想运行上面的代码来训练网络,并且还能够在每个时期运行验证。我还是做不到。

python machine-learning deep-learning pytorch

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

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万
查看次数

如何避免 PyTorch 中的“CUDA 内存不足”

我认为对于 GPU 内存较低的 PyTorch 用户来说,这是一个非常普遍的信息:

RuntimeError: CUDA out of memory. Tried to allocate  MiB (GPU ;  GiB total capacity;  GiB already allocated;  MiB free;  cached)
Run Code Online (Sandbox Code Playgroud)

我想为我的课程研究对象检测算法。许多深度学习架构需要大容量的 GPU 内存,所以我的机器无法训练这些模型。我尝试通过将每一层加载到 GPU 然后将其加载回来来处理图像:

RuntimeError: CUDA out of memory. Tried to allocate  MiB (GPU ;  GiB total capacity;  GiB already allocated;  MiB free;  cached)
Run Code Online (Sandbox Code Playgroud)

但它似乎不是很有效。我想知道在使用很少的 GPU 内存的同时训练大型深度学习模型是否有任何提示和技巧。提前致谢!

编辑:我是深度学习的初学者。如果这是一个愚蠢的问题,请道歉:)

python object-detection low-memory deep-learning pytorch

39
推荐指数
6
解决办法
10万
查看次数

导入错误:无法加载需要“tk”交互框架的后端“TkAgg”,因为“headless”当前正在运行

当我使用google colaboratory时,我遇到了这个问题,我在stackoverflow上搜索过,但很少有人回答,有人能帮我弄清楚吗?谢谢!

我尝试通过多种方式重新安装 matplotlib,并安装 tk-dev,但它们都不起作用。

import matplotlib
import glob


**matplotlib.use('TKAgg')**


import matplotlib.image as mpimg

import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.ticker as ticker
Run Code Online (Sandbox Code Playgroud)

出现了一个像标题这样的导入错误:“导入错误:无法加载后端 'TkAgg' 这需要 'tk' 交互式框架,因为 'headless' 当前正在运行”

python matplotlib python-3.x google-colaboratory

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

tensorflow:您的输入数据用完

我正在研究 seq2seq keras/tensorflow 2.0 模型。每次用户输入内容时,我的模型都会完美地打印响应。但是在每个回复的最后一行我得到这个:

你:警告:tensorflow:你的输入数据用完了;中断训练。确保您的数据集或生成器至少可以生成steps_per_epoch * epochs批次(在本例中为 2 个批次)。在构建数据集时,您可能需要使用 repeat() 函数。

“你:”是我的最后一个输出,在用户应该输入新的东西之前。模型工作得很好,但我想没有错误是好的,但我不太明白这个错误。它说“中断训练”,但是我没有在训练任何东西,这个程序加载了一个已经训练好的模型。我想这就是错误没有停止程序的原因?

如果有帮助,我的模型如下所示:

intent_model = keras.Sequential([
    keras.layers.Dense(8, input_shape=[len(train_x[0])]),  # input layer
    keras.layers.Dense(8),  # hidden layer
    keras.layers.Dense(len(train_y[0]), activation="softmax"),  # output layer
])

intent_model.compile(optimizer="adam", loss="categorical_crossentropy", metrics=["accuracy"])
intent_model.fit(train_x, train_y, epochs=epochs)

test_loss, test_acc = intent_model.evaluate(train_x, train_y)
print("Tested Acc:", test_acc)

intent_model.save("models/intent_model.h5")
Run Code Online (Sandbox Code Playgroud)

python machine-learning deep-learning keras tensorflow

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

用 Pytorch 随机选择?

我有一个张量的图片,想从中随机选择。我正在寻找相当于np.random.choice().

import torch

pictures = torch.randint(0, 256, (1000, 28, 28, 3))
Run Code Online (Sandbox Code Playgroud)

假设我想要 10 张这样的照片。

python numpy machine-learning python-3.x pytorch

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

获取二维数组中每列的第二个最小值

如何从每列中获得第二个最小值?我有这个数组:

A = [[72 76 44 62 81 31]
     [54 36 82 71 40 45]
     [63 59 84 36 34 51]
     [58 53 59 22 77 64]
     [35 77 60 76 57 44]]
Run Code Online (Sandbox Code Playgroud)

我希望有如下输出:

A = [54 53 59 36 40 44]
Run Code Online (Sandbox Code Playgroud)

python arrays numpy list python-3.x

15
推荐指数
3
解决办法
905
查看次数

ValueError:形状(无,1)和(无,3)不兼容

我的音频文件,其中一个三维数据集X.shape(329,20,85)。我想运行一个简单的准系统模型,所以请不要挑剔并只解决手头的问题。这是代码:

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.LSTM(32, return_sequences=True, stateful=False, input_shape = (20,85,1)))
model.add(tf.keras.layers.LSTM(20))
model.add(tf.keras.layers.Dense(nb_classes, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=["accuracy"])
model.summary()
print("Train...")
model.fit(X_train, y_train, batch_size=batch_size, nb_epoch=50, validation_data=(X_test, y_test))
Run Code Online (Sandbox Code Playgroud)

但是后来我遇到了标题中提到的错误: ValueError: Shapes (None, 1) and (None, 3) are incompatible

这里是 model.summary()

Model: "sequential_13"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
lstm_21 (LSTM)               (None, 20, 32)            15104     
_________________________________________________________________
lstm_22 (LSTM)               (None, 20)                4240      
_________________________________________________________________
dense_8 (Dense)              (None, 3)                 63        
=================================================================
Total params: 19,407
Trainable params: 19,407
Non-trainable params: 0
_________________________________________________________________
Train... …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow

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

RuntimeError: 预期标量类型 Long 但发现 Float

我无法让 dtypes 匹配,如果我将张量更改为 long,则损失需要很长时间,或者模型需要浮动。张量的形状是 42000、1、28、28 和 42000。我不确定在哪里可以更改模型或损失所需的 dtype。

我不确定是否需要 dataloader,使用 Variable 也不起作用。

dataloaders_train = torch.utils.data.DataLoader(Xt_train, batch_size=64)

dataloaders_test = torch.utils.data.DataLoader(Yt_train, batch_size=64)

class Network(nn.Module):
    def __init__(self):
        super().__init__()


        self.hidden = nn.Linear(42000, 256)

        self.output = nn.Linear(256, 10)


        self.sigmoid = nn.Sigmoid()
        self.softmax = nn.Softmax(dim=1)

    def forward(self, x):

        x = self.hidden(x)
        x = self.sigmoid(x)
        x = self.output(x)
        x = self.softmax(x)

        return x

model = Network()

input_size = 784
hidden_sizes = [28, 64]
output_size = 10 
model = nn.Sequential(nn.Linear(input_size, hidden_sizes[0]),
                      nn.ReLU(),
                      nn.Linear(hidden_sizes[0], hidden_sizes[1]),
                      nn.ReLU(),
                      nn.Linear(hidden_sizes[1], output_size),
                      nn.Softmax(dim=1)) …
Run Code Online (Sandbox Code Playgroud)

python machine-learning neural-network deep-learning pytorch

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