我不确定为什么会出现速率限制错误。
(fashcomp) [jalal@goku fashion-compatibility]$ python main.py --test --l2_embed --resume runs/nondisjoint_l2norm/model_best.pth.tar --datadir ../../../data/fashion
/scratch3/venv/fashcomp/lib/python3.8/site-packages/torchvision/transforms/transforms.py:310: UserWarning: The use of the transforms.Scale transform is deprecated, please use transforms.Resize instead.
warnings.warn("The use of the transforms.Scale transform is deprecated, " +
Traceback (most recent call last):
File "main.py", line 313, in <module>
main()
File "main.py", line 105, in main
model = torch.hub.load('pytorch/vision:v1.9.0', 'resnet18', pretrained=True)
File "/scratch3/venv/fashcomp/lib/python3.8/site-packages/torch/hub.py", line 362, in load
repo_or_dir = _get_cache_or_reload(repo_or_dir, force_reload, verbose)
File "/scratch3/venv/fashcomp/lib/python3.8/site-packages/torch/hub.py", line 162, in _get_cache_or_reload
_validate_not_a_forked_repo(repo_owner, repo_name, branch)
File …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 TensorFlow 中实现 Triplet Attention。我面临的问题之一是在NN.module
TensorFlow 中使用什么来代替
class ChannelPool(nn.Module):
def forward(self, x):
return torch.cat( (torch.max(x,1)[0].unsqueeze(1), torch.mean(x,1).unsqueeze(1)), dim=1)
Run Code Online (Sandbox Code Playgroud)
我应该在此处放置什么nn.Module
?
有人遇到过这种情况吗?
我尝试更新驱动程序并重新安装cuda
CUDA版本:11.4
图形处理器:GeForce RTX 3060 Laptop(6gb)
操作系统:Windows 10 home
火炬。版本:1.9.0+cpu
我尝试过多种方法,例如
conda install -y pytorch==1.9 torchvision torchaudio torchtext cudatoolkit=11.0 -c pytorch -c nvidia
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,它永远不会下载 cuda 11.0 或更高版本的版本。
错误消息太大而无法粘贴,但您可以在此处查看详细信息:https://github.com/pytorch/text/issues/1395
使用空环境应该很容易重现,如下所示:
conda create -n env_a40 python=3.9
conda activate env_a40
conda install -y pytorch==1.9 torchvision torchaudio torchtext cudatoolkit=11.0 -c pytorch -c nvidia
Run Code Online (Sandbox Code Playgroud)
交叉发布:
有关的:
请注意,您也可以使用 pip 尝试:
pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
Run Code Online (Sandbox Code Playgroud)
还没有成功。
火炬\xef\xbc\x9a\'1.9.0+cu111\'
\nTensorflow-gpu\xef\xbc\x9a\'2.5.0\'
\n我遇到一个奇怪的事情,当使用tensorflow 2.5的Batch Normal层和Pytorch 1.9的BatchNorm2d层计算相同的Tensor时,结果有很大不同(TensorFlow接近1,Pytorch接近0)。我一开始以为是动量和epsilon的区别,但是把它们改成相同后,结果是一样的。
\nfrom torch import nn\nimport torch\nx = torch.ones((20, 100, 35, 45))\na = nn.Sequential(\n # nn.Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), padding=0, bias=True),\n nn.BatchNorm2d(100)\n )\nb = a(x)\n\nimport tensorflow as tf\nimport tensorflow.keras as keras\nfrom tensorflow.keras.layers import *\nx = tf.ones((20, 35, 45, 100))\na = keras.models.Sequential([\n # Conv2D(128, (1, 1), (1, 1), padding=\'same\', use_bias=True),\n BatchNormalization()\n ])\nb = a(x)\n
Run Code Online (Sandbox Code Playgroud)\nfrom transformers import CTRLTokenizer, TFCTRLLMHeadModel
tokenizer_ctrl = CTRLTokenizer.from_pretrained('ctrl', cache_dir='./cache', local_files_only=True)
model_ctrl = TFCTRLLMHeadModel.from_pretrained('ctrl', cache_dir='./cache', local_files_only=True)
print(tokenizer_ctrl)
gen_nlp = pipeline("text-generation", model=model_ctrl, tokenizer=tokenizer_ctrl, device=1, return_full_text=False)
Run Code Online (Sandbox Code Playgroud)
你好,我的代码可以将变压器模型(例如这里的 CTRL)加载到 GPU 内存中。使用后如何将其从 GPU 中删除,以释放更多 GPU 内存?
显示我使用torch.cuda.empty_cache()
?
谢谢。
通常,如果我很好地理解 Conv2D 层的 PyTorch 实现,则填充参数会将带有零的卷积图像的形状扩展到输入的所有四个边。因此,如果我们有形状为 (6,6) 的图像并设置padding = 2
和strides = 2
和kernel = (5,5)
,则输出将是形状为 (1,1) 的图像。然后,padding = 2
用零填充(上 2 个、下 2 个、左 2 个、右 2 个),得到形状为 (5,5) 的卷积图像
但是,当运行以下脚本时:
import torch
from torch import nn
x = torch.ones(1,1,6,6)
y = nn.Conv2d(in_channels= 1, out_channels=1,
kernel_size= 5, stride = 2,
padding = 2,)(x)
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
y.shape
==> torch.Size([1, 1, 3, 3]) ("So shape of convolved image = (3,3) instead of (5,5)")
y[0][0]
==> tensor([[0.1892, 0.1718, 0.2627, …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 pytorch 实现线性回归的简单梯度下降,如文档中的此示例所示:
import torch
from torch.autograd import Variable
learning_rate = 0.01
y = 5
x = torch.tensor([3., 0., 1.])
w = torch.tensor([2., 3., 9.], requires_grad=True)
b = torch.tensor(1., requires_grad=True)
for z in range(100):
y_pred = b + torch.sum(w * x)
loss = (y_pred - y).pow(2)
loss = Variable(loss, requires_grad = True)
# loss.requires_grad = True
loss.backward()
with torch.no_grad():
w = w - learning_rate * w.grad
b = b - learning_rate * b.grad
w.grad = None
b.grad = None …
Run Code Online (Sandbox Code Playgroud) 我是 pytorch 的新手,我正在使用强化学习对时间序列进行 DQN 工作,我需要对时间序列和一些传感器读数进行复杂的观察,所以我合并了两个神经网络,我不确定这是否会破坏我的损失.向后或其他什么。我知道有多个具有相同标题的问题,但没有一个对我有用,也许我错过了一些东西。
首先,这是我的网络:
class DQN(nn.Module):
def __init__(self, list_shape, score_shape, n_actions):
super(DQN, self).__init__()
self.FeatureList = nn.Sequential(
nn.Conv1d(list_shape[1], 32, kernel_size=8, stride=4),
nn.ReLU(),
nn.Conv1d(32, 64, kernel_size=4, stride=2),
nn.ReLU(),
nn.Conv1d(64, 64, kernel_size=3, stride=1),
nn.ReLU(),
nn.Flatten()
)
self.FeatureScore = nn.Sequential(
nn.Linear(score_shape[1], 512),
nn.ReLU(),
nn.Linear(512, 128)
)
t_list_test = torch.zeros(list_shape)
t_score_test = torch.zeros(score_shape)
merge_shape = self.FeatureList(t_list_test).shape[1] + self.FeatureScore(t_score_test).shape[1]
self.FinalNN = nn.Sequential(
nn.Linear(merge_shape, 512),
nn.ReLU(),
nn.Linear(512, 128),
nn.ReLU(),
nn.Linear(128, n_actions),
)
def forward(self, list, score):
listOut = self.FeatureList(list)
scoreOut = self.FeatureScore(score)
MergedTensor = torch.cat((listOut,scoreOut),1) …
Run Code Online (Sandbox Code Playgroud) 有人可以分解代码并向我解释吗?需要帮助的部分用“#Thispart”表示。我将非常感谢任何帮助,谢谢
def validation_epoch_end(self, outputs):
batch_losses = [x["val_loss"]for x in outputs] #This part
epoch_loss = torch.stack(batch_losses).mean()
batch_accs = [x["val_acc"]for x in outputs] #This part
epoch_acc = torch.stack(batch_accs).mean()
return {'val_loss': epoch_loss.item(), 'val_acc': epoch_acc.item()}
def epoch_end(self, epoch, result):
print("Epoch [{}], val_loss: {:.4f}, val_acc: {:.4f}".format( epoch,result['val_loss'], result['val_acc'])) #This part
Run Code Online (Sandbox Code Playgroud)