小编Dar*_*ici的帖子

Pytorch模型精度测试

我正在使用 Pytorch 对一系列图像进行分类。神经网络定义如下:

model = models.vgg16(pretrained=True)
model.cuda()
for param in model.parameters(): param.requires_grad = False

classifier = nn.Sequential(OrderedDict([
                           ('fc1', nn.Linear(25088, 4096)),
                           ('relu', nn.ReLU()),
                           ('fc2', nn.Linear(4096, 102)),
                           ('output', nn.LogSoftmax(dim=1))
                           ]))

model.classifier = classifier
Run Code Online (Sandbox Code Playgroud)

标准和优化器如下:

criterion = nn.NLLLoss()
optimizer = optim.Adam(model.classifier.parameters(), lr=0.001)
Run Code Online (Sandbox Code Playgroud)

我的验证函数如下:

def validation(model, testloader, criterion):
    test_loss = 0
    accuracy = 0
    for images, labels in testloader:

        images.resize_(images.shape[0], 784)

        output = model.forward(images)
        test_loss += criterion(output, labels).item()

        ps = torch.exp(output)
        equality = (labels.data == ps.max(dim=1)[1])
        accuracy += equality.type(torch.FloatTensor).mean()

    return test_loss, accuracy
Run Code Online (Sandbox Code Playgroud)

这是引发以下错误的代码片段:

运行时错误:输入的尺寸小于预期 …

python conv-neural-network pytorch

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

R在外环中嵌套foreach%dopar%,在内环中嵌套%do%

我在R中运行以下脚本.如果我使用%do%而不是%dopar%,则脚本运行正常.但是,如果在外部循环中我使用%dopar%,则循环将永远运行而不会抛出任何错误(内存使用量会不断增加,直到内存不足为止).我正在使用16个核心.

library(parallel)
library(foreach)
library(doSNOW)
library(dplyr)


NumberOfCluster <- 16 
cl <- makeCluster(NumberOfCluster) 
registerDoSNOW(cl) 


foreach(i = UNSPSC_list, .packages = c('data.table', 'dplyr'), .verbose = TRUE) %dopar% 
    { 
      terms <- as.data.table(unique(gsub(" ", "", unlist(terms_list_by_UNSPSC$Terms[which(substr(terms_list_by_UNSPSC$UNSPSC,1,6) == i)])))) 
      temp <- inner_join(N_of_UNSPSCs_by_Term, terms, on = 'V1') 
      temp$V2 <- 1/as.numeric(temp$V2)
      temp <- temp[order(temp$V2, decreasing = TRUE),]
      names(temp) <- c('Term','Imp')
      ABNs <- unique(UNSPSCs_per_ABN[which(substr(UNSPSCs_per_ABN$UNSPSC,1,4) == substr(i,1,4)), 1])

      predictions <- as.numeric(vector()) 
      predictions <- foreach (j = seq(1 : nrow(train)), .combine = 'c', .packages = 'dplyr')  %do% 
      { 
        descr <- names(which(!is.na(train[j,]) == …
Run Code Online (Sandbox Code Playgroud)

parallel-processing foreach r

6
推荐指数
1
解决办法
1198
查看次数

Pytorch保存模型UserWarning:无法检索网络类型的容器的源代码

使用以下方法在Pytorch中保存模型时:

torch.save(model, 'checkpoint.pth')
Run Code Online (Sandbox Code Playgroud)

我收到以下警告:

/opt/conda/lib/python3.6/site-packages/torch/serialization.py:193:UserWarning:无法检索类型为Network的容器的源代码。加载后不会检查其正确性。“类型” + obj。名称 +“。不会被选中”

当我加载它时,出现以下错误:

state_dict = torch.load('checkpoint_state_dict.pth')
model = torch.load('checkpoint.pth')
model.load_state_dict(state_dict)


AttributeError                            Traceback (most recent call last)
<ipython-input-2-6a79854aef0f> in <module>()
      2 state_dict = torch.load('checkpoint_state_dict.pth')
      3 model = 0
----> 4 model = torch.load('checkpoint.pth')
      5 model.load_state_dict(state_dict)

/opt/conda/lib/python3.6/site-packages/torch/serialization.py in load(f, map_location, pickle_module)
    301         f = open(f, 'rb')
    302     try:
--> 303         return _load(f, map_location, pickle_module)
    304     finally:
    305         if new_fd:

/opt/conda/lib/python3.6/site-packages/torch/serialization.py in _load(f, map_location, pickle_module)
    467     unpickler = pickle_module.Unpickler(f)
    468     unpickler.persistent_load = persistent_load
--> 469     result …
Run Code Online (Sandbox Code Playgroud)

python warnings save pytorch

5
推荐指数
1
解决办法
2731
查看次数

R未来多会话限制cpu数量

我目前正在使用 future 包进行并行化,如下所示:

plan(multisession, gc = TRUE)
standardised_addresses1 <- future_lapply(1:20000, function(x) x*x) 
Run Code Online (Sandbox Code Playgroud)

问题是它使用了服务器上的所有 CPU。我想通过设置如下参数来限制使用的CPU数量:workers = 18

parallel-processing r cpu-usage r-future

5
推荐指数
1
解决办法
1442
查看次数

R 从日期时间转换为日期

我必须做日期之间的差异并返回天数。日期格式如下:

12/9/2011 12:00:00 上午

有谁知道如何在不使用 lubridate 的情况下进行差异化处理?

r date-difference

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

R将多个数据表追加到列表中

我需要将 data.tables 附加到一个空列表,通过调用索引我可以获得整个数据表。我现在得到的是附加数据表的列的列表,以便在特定索引处而不是获取数据表,而是从这些表之一获取列。

empty_list <- list()
dt<-data.table(c(1,2,3,4,5,6), c(4,5,6,7,8,9))
empty_list <- append(empty_list, dt)
empty_list[1]
Run Code Online (Sandbox Code Playgroud)

r list append data.table

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

Pytorch 验证模型错误:预期输入batch_size (3) 匹配目标batch_size (4)

我正在 Pytorch 中构建一个神经网络,它应该可以跨 102 个类别进行分类。

我有以下验证功能:

def validation(model, testloader, criterion):
    test_loss = 0
    accuracy = 0

    for inputs, classes in testloader:
        inputs = inputs.to('cuda')
        output = model.forward(inputs)
        test_loss += criterion(output, labels).item()

        ps = torch.exp(output)
        equality = (labels.data == ps.max(dim=1)[1])
        accuracy += equality.type(torch.FloatTensor).mean()

    return test_loss, accuracy
Run Code Online (Sandbox Code Playgroud)

训练代码(调用validation):

epochs = 3
print_every = 40
steps = 0
running_loss = 0
testloader = dataloaders['test']

# change to cuda
model.to('cuda')

for e in range(epochs):
    running_loss = 0
    for ii, (inputs, labels) in …
Run Code Online (Sandbox Code Playgroud)

python neural-network pytorch

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

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

Python pandas 行之间的日期差异

我有一个 pandas 数据框“A”,其中“日期”列包含以下格式的时间戳:

2020-06-09 13:30:11.359497

我需要计算每行与前一行之间的时间差(以分钟为单位)。我尝试过 Timedelta、shift 和 diff。

python timestamp dataframe date-difference pandas

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