我在 amazon sagemaker 上训练了我的 xgboost 管道模型并在本地保存文件:
pickle.dump(model, open(file_name, "wb"))
Run Code Online (Sandbox Code Playgroud)
然后移动到本地计算机以推理模式使用模型:
pickle.load(open(file_name, "rb"))
XGBoostError: [11:45:49] ../src/common/json.cc:458: Expecting: """, got: "76 ", around character position: 1
{L\0\0\0\0\0\0\0
^~~~~~~~~
Stack trace:
[bt] (0) 1 libxgboost.dylib 0x00000001258a9a54 dmlc::LogMessageFatal::~LogMessageFatal() + 116
[bt] (1) 2 libxgboost.dylib 0x00000001258d69be xgboost::JsonReader::Error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) const + 1054
[bt] (2) 3 libxgboost.dylib 0x00000001258d7427 xgboost::JsonReader::Expect(char, char) + 279
[bt] (3) 4 libxgboost.dylib 0x00000001258d7bfb xgboost::JsonReader::ParseObject() + 331
[bt] (4) 5 libxgboost.dylib 0x00000001258d6467 xgboost::JsonReader::Parse() + 439
[bt] (5) 6 libxgboost.dylib 0x00000001258dbfbe xgboost::Json::Load(xgboost::StringView) + …Run Code Online (Sandbox Code Playgroud) 我想标准化 R 中的变量。我知道如何做到这一点的多种方法。然而,我真的很喜欢使用下面这种方法:
library(tidyverse)
df <- mtcars
df %>%
gather() %>%
group_by(key) %>%
mutate(value = value - mean(value)) %>%
ungroup() %>%
pivot_wider(names_from = key, values_from = value)
Run Code Online (Sandbox Code Playgroud)
由于某种原因,这种方法不起作用,因为我无法将数据返回到原始格式。所以想请教一下
我正在学习这个新的 ONNX 框架,它允许我们将深度学习(和其他)模型部署到生产中。
然而,我缺少一件事。我认为拥有这样一个框架的主要原因是为了推理目的,例如当我们有一个经过训练的模型并希望在不同的 venv 中使用它时(例如我们不能拥有 PyTorch),该模型仍然可以使用。
我在这里准备了一个“从头开始”的例子:
# Modules
import torch
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as F
from torch.utils.data import DataLoader, TensorDataset
import torchvision
import onnx
import onnxruntime
import matplotlib.pyplot as plt
import numpy as np
# %config Completer.use_jedi = False
# MNIST Example dataset
train_loader = torch.utils.data.DataLoader(
torchvision.datasets.MNIST(
'data', train=True, download=True,
transform=torchvision.transforms.Compose([
torchvision.transforms.ToTensor(),
])),
batch_size=800)
# Take data and labels "by hand"
inputs_batch, labels_batch = next(iter(train_loader))
# Simple Model
class CNN(nn.Module):
def …Run Code Online (Sandbox Code Playgroud) 我需要更改当前文件的前缀。
示例如下:
from pathlib import Path
file = Path('/Users/my_name/PYTHON/Playing_Around/testing_lm.py')
# Current file with destination
print(file)
# Prefix to be used
file_prexif = 'A'
# Hardcoding wanted results.
Path('/Users/my_name/PYTHON/Playing_Around/A_testing_lm.py')
Run Code Online (Sandbox Code Playgroud)
可以看出,硬编码很容易。但是有没有办法自动化这一步呢?我想做的事情有一个伪想法:
str(file).split('/')[-1] = str(file_prexif) + str('_') + str(file).split('/')[-1]
Run Code Online (Sandbox Code Playgroud)
我只想更改PosixPath文件的最后一个元素。但是,不可能仅更改字符串的最后一个元素
我现在正在尝试的是在管道中使用 PyTorch,所有预处理都将在管道中处理。
我有能力让它发挥作用。然而,我得到的结果有点偏离。随着训练循环的进行,损失函数似乎没有减少并且陷入困境(大概处于局部最优?)。
我遵循标准 PyTorch 训练循环并将其包装在 fit 方法中,因为这就是 sklearn 想要的:
import torch
from sklearn.base import BaseEstimator, TransformerMixin
import torch.nn.functional as F
from IPython.core.debugger import set_trace
# +
import pandas as pd
import seaborn as sns
import numpy as np
from tqdm import tqdm
import random
# -
df = sns.load_dataset("tips")
df.head()
# +
class LinearRegressionModel(torch.nn.Module, BaseEstimator, TransformerMixin):
def __init__(self, loss_func = torch.nn.MSELoss()):
super(LinearRegressionModel, self).__init__()
self.linear = torch.nn.Linear(3, 1) # One in and one out
self.loss_func = loss_func
self.optimizer = torch.optim.SGD(self.parameters(), …Run Code Online (Sandbox Code Playgroud) 我想问一下如何sf在传单中绘制对象,leaflet package我知道mapview package可以绘制它,但是我更喜欢使用 leafet 包。
我在下面提供了示例:
library(leaflet)
library(eurostat)
library(dplyr)
library(ggplot2)
options(readr.default_locale=readr::locale(tz="Europe/Berlin"))
df60 <- get_eurostat_geospatial(resolution = 60)
CE.sf <- df60 %>%
dplyr::filter(LEVL_CODE == 2 & CNTR_CODE %in% c("AT","CZ","DE","HU","PL","SK")) %>%
dplyr::select(NUTS_ID)
plot(CE.sf)
CE.sf %>%
ggplot() +
geom_sf(color = "black", size = 0.4)
CE = sf::as_Spatial(CE.sf)
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data= CE, color = "green")
Run Code Online (Sandbox Code Playgroud)
我需要从传单中的第 15 行重现情节,我在这里找到了一些想法:https : //gis.stackexchange.com/questions/239118/r-convert-sf-object-back-to-spatialpolygonsdataframe
但是,使用这种方法不起作用。
我需要固定的小数位数(在这种情况下为两个),但我无法使其工作,我知道使用round和accuracy功能,但它似乎对我不起作用
代码:
library(ggplot2)
ggplot(mtcars, aes(factor(cyl))) +
geom_bar(color = "steelblue", fill = "#00AFBB", na.rm = T) +
scale_fill_discrete(drop=FALSE) +
scale_x_discrete(drop=FALSE) +
geom_text(aes(label=scales::percent(round(..count../sum(..count..),4))),
stat='count',vjust = -0.5, size = 4)
Run Code Online (Sandbox Code Playgroud) 直升机我想问一下如何CLASIC [R转换plot的ggplot,所以它看起来更好,在我的情况,我想绘制MORAN我情节ggplot。
例子:
library(spdep)
data(afcon, package="spData")
moran.plot(afcon$totcon, nb2listw(paper.nb))
Run Code Online (Sandbox Code Playgroud) 我想问当我们有国家及其地区的点和多边形的经度和纬度变量时,如何计算某个地区的点数。
我在下面提供了示例:我想计算哪些区域中有多少个点(当没有点时包括零),然后将此变量添加到data2@data对象,以便可以使用计数度量来填充每个区域的多边形。
library(leaflet)
library(tidyverse)
set.seed(101)
URL2 <- "https://biogeo.ucdavis.edu/data/gadm3.6/Rsp/gadm36_FRA_2_sp.rds"
data2 <- readRDS(url(URL2))
URL3 <- "https://biogeo.ucdavis.edu/data/gadm3.6/Rsp/gadm36_ESP_2_sp.rds"
data3 <- readRDS(url(URL3))
URL4 <- "https://biogeo.ucdavis.edu/data/gadm3.6/Rsp/gadm36_PRT_2_sp.rds"
data4 <- readRDS(url(URL4))
URL5 <- "https://biogeo.ucdavis.edu/data/gadm3.6/Rsp/gadm36_GBR_2_sp.rds"
data5 <- readRDS(url(URL5))
random_long_lat <-
data.frame(
long = sample(runif(300, min = -2.5, max = 15.99), replace = F),
lat = sample(runif(300, min = 42.69, max = 59.75), replace = F)
)
all <- rbind(data2, data3, data4, data5)
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data=all, stroke = TRUE, color = "black", weight="", smoothFactor …Run Code Online (Sandbox Code Playgroud) 我想根据我拥有的三个列表创建一个字典:
Hier = ['A', 'C']
values = [10, 20]
All = ['A', 'B', 'C', 'D']
Run Code Online (Sandbox Code Playgroud)
结果应如下所示:
{"A", 10, "B": "", "C": 20, "D":""}
Run Code Online (Sandbox Code Playgroud)