我刚刚通过安装了最新版本的 Tensorflow pip install tensorflow,每当我运行程序时,我都会收到日志消息:
W tensorflow/stream_executor/platform/default/dso_loader.cc:55] 无法加载动态库“cudart64_101.dll”;dlerror: 找不到 cudart64_101.dll
这很糟糕吗?如何修复错误?
我正在使用此代码,并且model.eval()在某些情况下看到了。
我知道它应该允许我“评估我的模型”,但我不明白什么时候应该和不应该使用它,或者如果关闭如何关闭。
我想运行上面的代码来训练网络,并且还能够在每个时期运行验证。我还是做不到。
我正在尝试按如下方式训练以下 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) 我认为对于 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 内存的同时训练大型深度学习模型是否有任何提示和技巧。提前致谢!
编辑:我是深度学习的初学者。如果这是一个愚蠢的问题,请道歉:)
当我使用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' 当前正在运行”
我正在研究 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) 我有一个张量的图片,想从中随机选择。我正在寻找相当于np.random.choice().
import torch
pictures = torch.randint(0, 256, (1000, 28, 28, 3))
Run Code Online (Sandbox Code Playgroud)
假设我想要 10 张这样的照片。
如何从每列中获得第二个最小值?我有这个数组:
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) 我的音频文件,其中一个三维数据集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) 我无法让 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
python ×10
python-3.x ×5
pytorch ×5
keras ×3
tensorflow ×3
numpy ×2
arrays ×1
list ×1
low-memory ×1
matplotlib ×1