小编uke*_*emi的帖子

哪个API可以访问Google的词典信息?

我知道Google字典已于2011停产,但字典信息和定义仍可通过google搜索结果获得:

这是它的屏幕截图

是否有人知道可以通过Custom Search API或Translate API访问此信息?-我找到了这个相关问题(可惜没有令人满意的答案)。

dictionary google-api

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

如何在火炬张量中交换两行?

var = [[0, 1, -4, 8],
       [2, -3, 2, 1],
       [5, -8, 7, 1]]

var = torch.Tensor(var)
Run Code Online (Sandbox Code Playgroud)

这里,var是一个 3 x 4 (2d) 张量。如何交换第一行和第二行以获得以下二维张量?

2, -3, 2, 1 
0, 1, -4, 8
5, -8, 7, 1
Run Code Online (Sandbox Code Playgroud)

python pytorch

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

如何将numpy数组元素从字符串转换为int

我有一个字符串格式的数字列表。我使用 将该列表转换为 numpy 数组np.asarray()

如何将字符串元素转换为整数?

python arrays string numpy python-3.x

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

使用 PyTorch 张量将对角线屏蔽为特定值

如何用 torch 中的值填充对角线?在 numpy 中你可以这样做:

a = np.zeros((3, 3), int)
np.fill_diagonal(a, 5)

array([[5, 0, 0],
       [0, 5, 0],
       [0, 0, 5]])
Run Code Online (Sandbox Code Playgroud)

我知道torch.diag()返回对角线,但如何使用它作为掩码来分配新值超出了我的范围。我无法在这里或 PyTorch 文档中找到答案。

python diagonal torch pytorch

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

PyTorch 最高效的 Jacobian/Hessian 计算

我正在寻找通过 Pytorch 获取函数的雅可比行列式的最有效方法,并且到目前为止提出了以下解决方案:

# Setup
def func(X):
    return torch.stack((X.pow(2).sum(1),
                        X.pow(3).sum(1),
                        X.pow(4).sum(1)),1)  

X = Variable(torch.ones(1,int(1e5))*2.00094, requires_grad=True).cuda()
Run Code Online (Sandbox Code Playgroud)
# Solution 1:
t = time()
Y = func(X)
J = torch.zeros(3, int(1e5))

for i in range(3):
    J[i] = grad(Y[0][i], X, create_graph=True, retain_graph=True, allow_unused=True)[0]

print(time()-t)
>>> Output: 0.002 s
Run Code Online (Sandbox Code Playgroud)
# Solution 2:
def Jacobian(f,X):
    X_batch = Variable(X.repeat(3,1), requires_grad=True)
    f(X_batch).backward(torch.eye(3).cuda(), retain_graph=True)
    return X_batch.grad

t = time()
J2 = Jacobian(func,X)
print(time()-t)
>>> Output: 0.001 s
Run Code Online (Sandbox Code Playgroud)

由于在第一个解决方案中使用循环与在第二个解决方案中使用循环似乎没有太大区别,我想问一下是否还有更快的方法来计算 pytorch 中的雅可比行列式。

我的另一个问题也是关于什么可能是计算 Hessian 的最有效方法。

最后,有谁知道在 TensorFlow 中是否可以更轻松或更高效地完成此类操作?

python linear-algebra calculus deep-learning pytorch

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

在python中查找邻居邻居的最有效方法

让我们考虑一下,有两个数组I,并J由此确定邻居对:

I = np.array([0, 0, 1, 2, 2, 3])
J = np.array([1, 2, 0, 0, 3, 2])
Run Code Online (Sandbox Code Playgroud)

这意味着元素0有两个邻居12。元素1只有0作为邻居等等。

什么是创建所有邻居三元组阵列的最有效的方式I'J'K'这样j是邻居ik是邻居j给出的条件ij以及k不同的元素(i != j != k)?

Ip = np.array([0, 0, 2, 3])
Jp = np.array([2, 2, 0, 2])
Kp = np.array([0, 3, 1, 0])
Run Code Online (Sandbox Code Playgroud)

当然,一种方法是遍历每个元素。有没有更高效的算法?(使用 10-5 亿个元素)

python tree numpy python-3.x

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

随机将张量中的一些元素设置为零(计算时间短)

我有一个形状张量(3072,1000),代表神经网络中的权重。我想要:

  1. 随机将其 60% 的元素设置为零。
  2. 更新权重后,保持 60% 的元素等于 0,但同样是随机的,即与之前的元素不同。

注意:我的网络不是使用反向传播算法的通常的人工神经网络,而是大脑中神经元的生物物理模型,因此我使用特殊的权重更新规则。因此,我认为pytorch中的现成函数(如果有的话)可能没有帮助。

我尝试了以下代码,它可以工作,但需要很长时间,因为每次更新权重张量后,我都必须运行该代码以再次将权重张量设置为 60% 零

row_indices = np.random.choice(np.size(mytensor.weight, 0),
                       replace=False,size=int(np.size(mytensor.weight, 0)* 0.6))
column_indices = np.random.choice(np. size(mytensor.weight, 1),
                       replace=False, size=int(np. size(mytensor.weight, 1) * 0.6))
for r in row_indices:
    for c in column_indices:
        (mytensor.weight)[r][c] = 0
Run Code Online (Sandbox Code Playgroud)

python python-3.x pytorch dropout

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

PyTorch:为什么要创建同一类型图层的多个实例?

此代码来自 PyTorch 转换器:

    self.linear1 = Linear(d_model, dim_feedforward, **factory_kwargs)
    self.dropout = Dropout(dropout)
    self.linear2 = Linear(dim_feedforward, d_model, **factory_kwargs)
    self.norm1 = LayerNorm(d_model, eps=layer_norm_eps, **factory_kwargs)
    self.norm2 = LayerNorm(d_model, eps=layer_norm_eps, **factory_kwargs)
    self.norm3 = LayerNorm(d_model, eps=layer_norm_eps, **factory_kwargs)
    self.dropout1 = Dropout(dropout)
    self.dropout2 = Dropout(dropout)
    self.dropout3 = Dropout(dropout)
Run Code Online (Sandbox Code Playgroud)

为什么他们要添加self.dropout1, ...2,...3self.dropout已经存在并且是完全相同的功能时?

self.linear1另外,( , self.linear2) 和 之间有什么区别self.linear

python instance pytorch dropout

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

如何在Python中创建围绕坐标5英里的精确缓冲区?

我想创建一个围绕坐标 5 英里的精确缓冲区,我当前的代码是:

cpr_gdf['p_buffer']=cpr_gdf['coordinates'].buffer(5*(1/60))
Run Code Online (Sandbox Code Playgroud)

坐标列是使用以下代码创建的:

cpr_df['coordinates']=list(zip(cpr_df.sample_longitude_decimal,cpr_df.sample_latitude_decimal))
cpr_df['coordinates']=cpr_df['coordinates'].apply(Point)
cpr_gdf=gpd.GeoDataFrame(cpr_df,geometry='coordinates',crs={'init' :'epsg:4326'})
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

python-3.x geopandas

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

总和忽略熊猫数据框中的字符串

我正在使用 Pandas 制作 DataFrame。然而,DataFrame 的某些部分包含一个字符串。沿数据框的行求和时,如何忽略总和中的这些字符串?

df["sum"] = df.sum(axis=1)
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe pandas

4
推荐指数
2
解决办法
283
查看次数