小编tst*_*eby的帖子

Pytorch:无法在需要毕业的变量上调用numpy()。使用var.detach()。numpy()代替

我的代码中有错误,无论尝试哪种方式都无法解决。

错误很简单,我返回一个值:

torch.exp(-LL_total/T_total)
Run Code Online (Sandbox Code Playgroud)

然后在管道中获取错误:

RuntimeError: Can't call numpy() on Variable that requires grad. Use var.detach().numpy() instead.
Run Code Online (Sandbox Code Playgroud)

诸如此类的解决方案cpu().detach().numpy()也会出现相同的错误。

我该如何解决?谢谢。

python numpy pytorch

6
推荐指数
3
解决办法
3866
查看次数

将ID的行拖放到Pandas中的特定列值之后

我有一个像这样的数据集:

Id   Status

1     0
1     0
1     0
1     0
1     1
2     0
1     0
2     0
3     0
3     0
Run Code Online (Sandbox Code Playgroud)

我想在ID的状态变为1后删除ID的所有行,即我的新数据集将是:

Id   Status

1     0
1     0
1     0
1     0
1     1
2     0
2     0
3     0
3     0

i.e.

1     0   --> gets removed since this row appears after id 1 already had a status of 1
Run Code Online (Sandbox Code Playgroud)

由于我有非常大的数据集(超过200 GB),因此如何有效地实现它。

谢谢你的帮助。

python group-by pandas

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

如何按 id 对列重新采样

我有一个像这样的数据集:

id    date    value

1   16-12-1     9
1   16-12-1     8
1   17-1-1      18
2   17-3-4      19
2   17-3-4      20
1   17-4-3      21
2   17-7-13     12
3   17-8-9      12
2   17-9-12     11
1   17-11-12    19
3   17-11-12    21
Run Code Online (Sandbox Code Playgroud)

上面唯一的结构是行按日期排序。

我想要做的是,按 id 分组并重新采样日期,以便每个 id 具有相同的数值。每月、每周或每天重新采样就足够了。

我的最终数据集(每年重新采样)如下所示:

id    interval           value

1   16-12-1 - 17-12-1     75
2   16-12-1 - 17-12-1     62
3   16-12-1 - 17-12-1     33
Run Code Online (Sandbox Code Playgroud)

如何实施?这行得通吗(因为我在日期字段中没有秒,即它不是标准的 pandas 日期时间对象)?

dataframe.groupby(id).resample('year')
Run Code Online (Sandbox Code Playgroud)

有没有更快的方法来做到这一点?

python time-series dataframe pandas pandas-groupby

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

Pandas 重采样代码运行速度极慢

我需要重新采样 Pandas 中的一些数据,我使用下面的代码:

根据我的数据,5 hours.

df['date'] = pd.to_datetime(df['date'], format='%y-%m-%d')
df = df.set_index('date')
df.groupby('id').resample('D')['value'].agg('sum').loc[lambda x: x>0]
Run Code Online (Sandbox Code Playgroud)

这速度太慢了。

如何在数据上加快上述代码的速度:

id    date    value

1   16-12-1     9
1   16-12-1     8
1   17-1-1      18
2   17-3-4      19
2   17-3-4      20
1   17-4-3      21
2   17-7-13     12
3   17-8-9      12
2   17-9-12     11
1   17-11-12    19
3   17-11-12    21

giving output:

id  date      
1   2016-12-04    17
    2017-01-01    18
    2017-04-09    21
    2017-11-12    19
2   2017-03-05    39
    2017-07-16    12
    2017-09-17    11
3   2017-08-13    12
    2017-11-12    21 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas pandas-groupby

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

Keras 层构建错误:build() 需要 1 个位置参数,但给出了两个

我在这个简单的层中出现以下错误:

class MyLayer(Layer):

def __init__(self):
    super(MyLayer, self).__init__()

def build(self):
    # Create a trainable weight variable for this layer.
    self.kernel = self.add_weight(name='kernel', 
                                  shape=(1)
                                  trainable=True)
    super(MyLayer, self).build() 

def call(self, x):
    return x/self.kernel
Run Code Online (Sandbox Code Playgroud)

当我将它用作:

m = MyLayer()
t = m (input)
Run Code Online (Sandbox Code Playgroud)

错误:build() 采用一个位置参数,但给出了两个。

python keras tensorflow keras-layer tf.keras

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

在Pytorch中连接两个张量

RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 2. Got 32 and 71 in dimension 0 at /pytorch/aten/src/THC/generic/THCTensorMath.cu:87
Run Code Online (Sandbox Code Playgroud)

我有一个张量的形状[71 32 1]

我想[100 32 1]通过填充零向量来使其形状。

我尝试通过连接形状为零的填充矢量[29 32 1]。我收到上面的错误。

我尝试使用形状为零的填充矢量[29 32 1],但仍然出现错误。

如何创建所需的张量?

python machine-learning deep-learning pytorch tensor

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

Matplotlib 中包含 3 个变量的散点图

我有一个简单的用例:

我有 3 个变量,x、y 和 z。

我想将 z 绘制为 x 和 y 的函数,因此是 3D 绘图。

python matplotlib

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