小编pir*_*pir的帖子

使用Git clone时提供用户名和电子邮件

我想克隆一个使用ssh的存储库.为此,我需要输入我的用户名.我试图在运行"git clone git@remote.git"时如何提供用户名和密码?.但是,我的用户名中包含@,这似乎与命令混乱.

我当前没有输入用户名的命令是sudo git clone ssh://git@git.x/y/.现在我想做同样的事,但用我的用户名abc@gmail.com.我怎么做?

如果我试着写,sudo git clone abc@gmail.com@git.x/y/我得到错误repository abc@gmail.com@git.x/y/ does not exist

git ssh login

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

就地改组多个HDF5数据集

我有多个HDF5数据集保存在同一个文件中,my_file.h5.这些数据集具有不同的维度,但第一维中的观察数量相同:

features.shape = (1000000, 24, 7, 1)
labels.shape = (1000000)
info.shape = (1000000, 4)
Run Code Online (Sandbox Code Playgroud)

重要的是,信息/标签数据正确连接到每组要素,因此我想要使用相同的种子来混洗这些数据集.此外,我想把它们洗掉,而不是将它们完全加载到内存中.这可能使用numpy和h5py吗?

python numpy hdf5 h5py

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

在社交媒体管理网站上查看原始网址

我正在做网络抓取作为学术项目的一部分,所有链接都必须遵循实际内容.令人讨厌的是,"社交媒体管理"网站存在一些重要的错误情况,用户发布链接以检测是谁点击了这些网站.

例如,请考虑linkis.com上的此链接,该链接链接到http:// + bit.ly +/1P1xh9J(由于SO发布限制而分离的链接),后者又链接到http://conservatives4palin.com.出现问题的原因是linkis.com上的原始链接不会自动重定向.相反,用户必须单击右上角的十字形才能转到原始URL.

此外,似乎有不同的变化(参见例如linkis.com链接2,其中十字架位于网站的左下角).这是我发现的唯一两种变体,但可能还有更多.请注意,我使用的网络刮刀与非常相似.进入实际链接的功能不需要随着时间的推移而稳定/运行,因为这是一次性的学术项目.

如何自动转到原始网址?最好的方法是设计一个找到相关链接的正则表达式吗?

python regex hyperlink web-scraping

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

单独线程中的 Asyncio“即发即忘”任务

我有一个长时间运行的同步 Python 程序,我希望每秒运行大约 10 个“即发即忘”任务。这些任务调用远程 API,不需要返回任何值。我尝试了这个答案,但它需要太多的CPU/内存来生成和维护所有单独的线程,所以我一直在研究asyncio。

这个答案很好地解释了如何使用 asyncio 运行“即发即忘”。但是,它需要使用 using run_until_complete(),它会等待所有异步任务完成。我的程序使用同步 Python,所以这对我不起作用。理想情况下,代码应该像这样简单,log_remote不会阻塞循环:

while True:
    latest_state, metrics = expensive_function(latest_state)
    log_remote(metrics) # <-- this should be run as "fire and forget"
Run Code Online (Sandbox Code Playgroud)

我使用的是Python 3.7。如何在另一个线程上使用 asyncio 轻松运行它?

python multithreading fire-and-forget python-asyncio

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

来自Theano表达式的梯度,用于Keras中的滤波器可视化

对于ConvNet,找到最大化单个转换活动的范数有界输入会很有趣.过滤器可视化过滤器.我想在深度学习包Keras中做到这一点.这可以使用黑盒优化算法和FAQ中的代码来完成.

# with a Sequential model
get_3rd_layer_output = theano.function([model.layers[0].input],
                                       model.layers[3].get_output(train=False))
layer_output = get_3rd_layer_output(X)
Run Code Online (Sandbox Code Playgroud)

但是,如果我有渐变,这将是一个非常容易的优化任务.如何从Theano表达式中提取渐变并将其输入到Python优化库(如Scipy)中?

python scipy theano deep-learning keras

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

为深度学习选择小批量大小

在Ilya Sutskever的博客文章中,他简要介绍了深度学习,他描述了如何选择合适的小批量大小来有效地训练深度神经网络.他给出了"使用在您的机器上高效运行的小型小批量"的建议.请参阅下面的完整报价.

我见过其他着名的深度学习研究人员的类似陈述,但我仍然不清楚如何找到正确的小批量大小.看作更大的小批量可以允许更高的学习率,似乎需要大量的实验来确定某个小批量大小是否在训练速度方面产生更好的性能.

我有一个带4GB内存的GPU,并使用库Caffe和Keras.在这种情况下,如果每个观察都有一定的内存占用,那么选择一个好的小批量大小的实用启发式是M什么?

迷你:使用迷你吧.如果您一次处理一个培训案例,现代计算机就无法提高效率.在128个示例的小型机上训练网络效率要高得多,因为这样做会大大提高吞吐量.使用1号尺寸的小型车真的很不错,它们可能会提高性能并降低过度装配; 但这样做的好处远远超过了小型车提供的大量计算收益.但是,不要使用非常大的微型计算机,因为它们往往工作不太好并且过度装配更多.因此,实际建议是:使用在您的机器上高效运行的较小的小批量.

performance deep-learning

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

查找保存的numpy数组(.npy或.npz)的形状而无需加载到内存中

我有一个巨大的压缩numpy数组保存到磁盘(内存中约20gb,压缩后更少)。我需要知道此数组的形状,但是我没有可用的内存来加载它。如何在不将numpy数组加载到内存的情况下找到其形状?

python io numpy

5
推荐指数
2
解决办法
2072
查看次数

numpy数组中某些行的随机排序

我想只改变numpy数组中某些行的顺序。这些行将始终是连续的(例如,混排第23-80行)。每行中的元素数量可以从1(这样数组实际上是1D)到100之间变化。

下面是示例代码,以演示我如何看待该方法shuffle_rows()。我将如何设计这样一种方法来有效地进行改组?

import numpy as np
>>> a = np.arange(20).reshape(4, 5)
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])

>>> shuffle_rows(a, [1, 3]) # including rows 1, 2 and 3 in the shuffling
array([[ 0,  1,  2,  3,  4],
       [15, 16, 17, 18, 19],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
Run Code Online (Sandbox Code Playgroud)

python arrays numpy shuffle

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

使用 psycopg2 批量更新 Postgres DB 中的行

我们需要对 Postgres 数据库中的许多行进行批量更新,并希望使用下面的 SQL 语法。我们如何使用 psycopg2 做到这一点?

UPDATE table_to_be_updated
SET msg = update_payload.msg
FROM (VALUES %(update_payload)s) AS update_payload(id, msg)
WHERE table_to_be_updated.id = update_payload.id
RETURNING *
Run Code Online (Sandbox Code Playgroud)

尝试 1 - 传递值

我们需要将嵌套的可迭代格式传递给 psycopg2 查询。对于update_payload,我尝试传递列表列表、元组列表和元组元组。这一切都因各种错误而失败。

尝试 2 - 使用 __conform__ 编写自定义类

我试图编写一个我们可以用于这些操作的自定义类,它将返回

(VALUES (row1_col1, row1_col2), (row2_col1, row2_col2), (...))
Run Code Online (Sandbox Code Playgroud)

我已经按照此处的说明进行编码,但很明显我做错了什么。例如,在这种方法中,我必须处理表内所有值的引用,这会很麻烦并且容易出错。

class ValuesTable(list):
    def __init__(self, *args, **kwargs):
        super(ValuesTable, self).__init__(*args, **kwargs)

    def __repr__(self):
        data_in_sql = ""
        for row in self:
            str_values = ", ".join([str(value) for value in row])
            data_in_sql += …
Run Code Online (Sandbox Code Playgroud)

python postgresql psycopg2

5
推荐指数
2
解决办法
2926
查看次数

Android 设备未收到使用 Firebase Cloud Messaging 发送的 5% 的推送

下面来自 Firebase Cloud Messaging (FCM) 控制台的图表显示了手机仅接收了约 95% 的推送。这给我们带来了很多问题,因为我们正在创建 VoIP 应用程序并且需要立即接收推送。谁能解释为什么会发生这种情况以及如何使这个比率接近 100%?

一些重要的注意事项:

  • 所有手机都是安卓
  • 所有手机在收到推送时或最多 2 分钟前都打开了我们的应用程序
  • 所有推送都是优先级高的数据推送(即没有正文/标题)
  • 推送会在 10 秒后过期,以便按照 Android 文档对它们进行优先级排序
  • 我们在同一时期有大约 30 个错误(注册令牌未注册和内部错误)发送推送,与大约 500 个未交付推送相比,这算不了什么

FCM 控制台的屏幕截图

android push-notification firebase firebase-cloud-messaging android-push-notification

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