小编KT1*_*T12的帖子

在GitHub repo中显示Travis构建状态

我记得最近在GitHub浏览存储库时看到Travis构建pr或commit的状态(但找不到位置).我不是在谈论Travis构建状态图像,README.md而是实际的GitHub功能(带有友好复选标记的绿色框).

虽然我的提交建立在Travis上,但我希望将结果显示在GitHub中(他们现在不做).我想知道如何启用它.

UPDATE

在这里找到一个例子:https://github.com/sebastianbergmann/phpunit/pull/1051/commits看到小的绿色复选标记说"Travis-CI build通过"?

continuous-integration github travis-ci

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

在BigQuery中运行python函数

在BigQuery中可以运行python函数吗?

根据Felipe的这篇博客文章,似乎C可以编译为WebAssembly并在BQ中运行。

当然,可以使用cython或其他工具将Python编译为C或C ++(甚至可以将其编译为javascript)。因此,我的问题是,有没有人有在BigQuery中执行python函数的经验。如果是这样,您正在使用的流程是什么?

这里可能的选项是:

  • 将python“转换”为javascript以运行。
  • 将python编译为c或cpp并将其编译为wasm

这是使用示例输入:

(1)来源

id         product 
1          box     
2          bottle
Run Code Online (Sandbox Code Playgroud)

(2)要使用的Python函数

def double_id(row):
    return row['id'] * 2

def product_code(row):
    # B3
    return row['product'].upper()[0] + str(len(row['product']))
Run Code Online (Sandbox Code Playgroud)

(3)预期产量

id     product      double_id       product_code
1      box          2               B3
2      bottle       4               B6
Run Code Online (Sandbox Code Playgroud)

我不仅希望使用javascript(可能是最简单的方法)来重写上面的代码,而且我还在寻找一种更通用的解决方案,如果有的话,我可以在其中采用python(标准库)函数,并在BigQuery查询中使用它。

python transpiler google-bigquery webassembly

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

Keras:在theano和tensorflow之间转换预训练的权重

我想使用这个预训练的模型:https://gist.github.com/baraldilorenzo/07d7802847aaad0a35d3

它是在theano布局中,我的代码依赖于tensorflow图像维度排序.

有关于在格式之间转换权重的指南:https://github.com/fchollet/keras/wiki/Converting-convolution-kernels-from-Theano-to-TensorFlow-and-vice-versa

但这似乎破了.在将theano转换为tensorflow的部分中,第一条指令是将权重加载到张量流模型中.

在这种情况下,Keras后端应该是TensorFlow.首先,将Theano训练的权重加载到TensorFlow模型中:

model.load_weights('my_weights_theano.h5')
Run Code Online (Sandbox Code Playgroud)

这引发了一个例外,重量布局将是不兼容的.如果load_weights函数将对张量流模型采用theano权重,则不需要转换它们.

我看了看这个convert_kernel功能.要看,我自己可以做一些必要的步骤:https://github.com/fchollet/keras/blob/master/keras/utils/np_utils.py 代码很简单 - 我不明白为什么指南会让使用张量流会话.这似乎没必要.

我已经从预训练模型中复制了代码,以创建具有张量流层的模型.这只是意味着backend.image_dim_ordering在添加任何卷积之前更改输入形状.然后我用这个循环:

model是原始模型,是从我在开头链接的代码创建的. model_tensorflow是完全相同的模型,但有tensorflow布局.

for i in range(len(model.layers)):
    layer_theano=model.layers[i]
    layer_tensorflow=model_tensorflow.layers[i]

    if layer_theano.__class__.__name__ in ['Convolution1D', 'Convolution2D', 'Convolution3D', 'AtrousConvolution2D']:
        weights_theano=layer_theano.get_weights()

        kernel=weights_theano[0]
        bias=weights_theano[1]

        converted_kernel=convert_kernel(kernel, "th")
        converted_kernel=converted_kernel.transpose((3,2,1,0))

        weights_tensorflow=[converted_kernel, bias]

        layer_tensorflow.set_weights(weights_tensorflow)

    else:
        layer_tensorflow.set_weights(layer_theano.get_weights())
Run Code Online (Sandbox Code Playgroud)

在原始代码中,有一个测试用例:预测在猫的图像上运行.我已经下载了猫图像并尝试使用原始模型的测试用例:285.转换后的模型预测585.

我不知道285是否是猫的正确标签,但即使不是,两个模型应该以相同的方式打破,我期望相同的预测.

在模型之间转换权重的正确方法是什么?

python numpy theano keras tensorflow

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

使用folium和pandas的等值线图

folium用来创建一组国家的等值区域地图.我正在关注http://folium.readthedocs.org/en/latest/#choropleth-examples上的文档.然而.由于某种原因,地图不显示任何阴影.我正在使用来自天然地球的世界geojson(参见要点).

我的数据框看起来像:

>>> spatial_scores.head()

Out[1]:
id  Country Score
PER Peru    2.810300
HND Honduras    2.734521
GUF French Guiana   2.730886
SLV El Salvador 2.473134
CRI Costa Rica  2.454963
Run Code Online (Sandbox Code Playgroud)

世界geojson看起来像:

>>> world_json['features'][0]['id']

Out [2]:
u'AFG'
Run Code Online (Sandbox Code Playgroud)

等值线代码的相关部分如下:

map1 = folium.Map(location=[-15., -60], zoom_start=4)

map1.geo_json(geo_path=world_json_path,
              data_out='data.json',
              data=spatial_scores,
              columns=['id', 'Score'],
              threshold_scale=[0, 1, 2, 3, 4],
              key_on='features.id',
              fill_color='BuPu', fill_opacity=0.7, line_opacity=0.5,
              legend_name='Score')

map1.create_map('./Scores.html')
Run Code Online (Sandbox Code Playgroud)

但是,我没有得到任何等值的结果,只留下如下的基本国家地图 Chorpleth输出

有什么我做错了吗?

[编辑]

我解决了这个问题.绘制choropleth我需要只保留那些geojson也在我的数据框中的键.

merged = gdf.merge(spatial_scores, left_on='name', right_on='Country')
spatial_gdf = gpd.GeoDataFrame(merged.iloc[:, [0, 1]])
data_df = …
Run Code Online (Sandbox Code Playgroud)

python choropleth folium

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

将Keras / sklearn与来自sklearn.calibration的CalibratedClassifierCV一起使用

是否可以将sklearn.calibration中的CalirasatedClassifierCV与Keras模型对象一起使用?还是有另一种方法可以在sklearn /其他python包中执行等渗回归,而不必将其传递给模型对象。

我尝试为Keras使用sklearn包装器,但是没有用。 这是CalibratedClassifierCV类的文档

scikit-learn keras

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

如何在Pytorch中向优化器动态添加新参数?

我正在pytorch论坛中浏览这篇文章,我也想这样做。原始帖子删除并添加了图层,但我认为我的情况没有什么不同。我还想添加图层或更多过滤器或单词嵌入。我的主要动机是AI代理不知道全部词汇/词典,因为它很大。我强烈希望(暂时)不要按字符进行RNN。

所以对我来说,发生的事情是,当代理开始向前传递时,它可能会找到从未见过的新单词,并且需要将它们添加到嵌入表中(或者可能在开始向前传递之前添加新的过滤器)。

所以我想确定的是:

  1. 正确添加嵌入(在正确的时间,当创建新的计算图时),以便优化程序可以更新它们
  2. 过去参数的存储信息没有问题,例如,如果使用某种动量

如何做到这一点?任何有效的示例代码?

machine-learning deep-learning conv-neural-network pytorch

8
推荐指数
2
解决办法
947
查看次数

什么时候调用loop.close()合适?

我已经尝试了asyncio一段时间并阅读了PEP;一些教程;甚至奥莱利的书

我想我已经掌握了它的窍门,但我仍然对这种行为感到困惑,loop.close()我无法完全弄清楚何时可以“安全”调用。

简而言之,我的用例是一堆阻塞的“老派”调用,我将它们包装在run_in_executor()和一个外部协程中;如果这些调用中的任何一个出现问题,我想停止进度,取消仍然未完成的调用,打印合理的日志,然后(希望是干净的)离开。

说吧,像这样:

import asyncio
import time


def blocking(num):
    time.sleep(num)
    if num == 2:
        raise ValueError("don't like 2")
    return num


async def my_coro(loop, num):
    try:
        result = await loop.run_in_executor(None, blocking, num)
        print(f"Coro {num} done")
        return result
    except asyncio.CancelledError:
        # Do some cleanup here.
        print(f"man, I was canceled: {num}")


def main():
    loop = asyncio.get_event_loop()
    tasks = []
    for num in range(5):
        tasks.append(loop.create_task(my_coro(loop, num)))

    try:
        # No point in waiting; if …
Run Code Online (Sandbox Code Playgroud)

python python-asyncio

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

与anova一起代替r

我试图在不同的数据集上运行anova,并且不太清楚如何做到这一点.我骂了一遍,发现这很有用:https://stats.idre.ucla.edu/r/codefragments/looping_strings/

hsb2 <- read.csv("https://stats.idre.ucla.edu/stat/data/hsb2.csv")
names(hsb2)
varlist <- names(hsb2)[8:11]
models <- lapply(varlist, function(x) {
lm(substitute(read ~ i, list(i = as.name(x))), data = hsb2)
})
Run Code Online (Sandbox Code Playgroud)

我对上述代码的作用的理解是它创建了一个函数lm()并将其应用于varlist中的每个变量,并对每个变量进行线性回归.

所以我认为使用aov代替lm对我来说是这样的:

aov(substitute(read ~ i, list(i = as.name(x))), data = hsb2)
Run Code Online (Sandbox Code Playgroud)

但是,我收到了这个错误:

Error in terms.default(formula, "Error", data = data) : 
no terms component nor attribute
Run Code Online (Sandbox Code Playgroud)

我不知道错误来自哪里.请帮忙!

r anova

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

如何在python中使用最小二乘拟合找到圆心?

我正在尝试拟合一些数据点以找到圆的中心.以下所有点都是围绕圆周的噪声数据点:

data = [(2.2176383052987667, 4.218574252410221),
(3.3041214516913033, 5.223500807396272),
(4.280815855023374, 6.461487709813785),
(4.946375258539319, 7.606952538212697),
(5.382428804463699, 9.045717060494576),
(5.752578028217334, 10.613667377465823),
(5.547729017414035, 11.92662513852466),
(5.260208374620305, 13.57722448066025),
(4.642126672822957, 14.88238955729078),
(3.820310290976751, 16.10605425390148),
(2.8099420132544024, 17.225880123445773),
(1.5731539516426183, 18.17052077121059),
(0.31752822350872545, 18.75261434891438),
(-1.2408437559671106, 19.119355580780265),
(-2.680901948575409, 19.15018791257732),
(-4.190406775175328, 19.001321726517297),
(-5.533990404926917, 18.64857428377178),
(-6.903383826792998, 17.730112542165955),
(-8.082883753215347, 16.928080323602334),
(-9.138397388219254, 15.84088004983959),
(-9.92610373064812, 14.380575762984085),
(-10.358670204629814, 13.018017342781242),
(-10.600053524240247, 11.387283417089911),
(-10.463673966507077, 10.107554951600699),
(-10.179820255235496, 8.429558128401448),
(-9.572153386953028, 7.1976672709797676),
(-8.641475289758178, 5.8312286526738175),
(-7.665976739804268, 4.782663065707469),
(-6.493033077746997, 3.8549965442534684),
(-5.092340806635571, 3.384419909199452),
(-3.6530364510489073, 2.992272643733981),
(-2.1522365767310796, 3.020780664301393),
(-0.6855406924835704, 3.0767643753777447),
(0.7848958776292426, 3.6196842530995332),
(2.0614188482646947, 4.32795711960546),
(3.2705467984691508, 5.295836809444288),
(4.359297538484424, 6.378324784240816),
(4.981264502955681, 7.823851404553242)]
Run Code Online (Sandbox Code Playgroud)

我试图使用像Scipy …

python geometry scipy

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

Spark结构化流左外部联接为已匹配的行返回外部null

我基本上是使用Spark的文档中给出的示例以及内置的测试流,其中一个流领先3秒(最初使用kafka,但遇到了同样的问题)。结果正确返回匹配列,但是过一会儿返回相同的键,但外部为null。

这是预期的行为吗?有匹配项时,是否有办法排除重复的外部null结果?

码:

val testStream = session.readStream.format("rate")
  .option("rowsPerSecond", "5").option("numPartitions", "1").load()

val impressions = testStream
  .select(
    (col("value") + 15).as("impressionAdId"),
    col("timestamp").as("impressionTime"))

val clicks = testStream
  .select(
    col("value").as("clickAdId"),
    col("timestamp").as("clickTime"))


// Apply watermarks on event-time columns
val impressionsWithWatermark =
  impressions.withWatermark("impressionTime", "20 seconds")
val clicksWithWatermark =
  clicks.withWatermark("clickTime", "30 seconds")

// Join with event-time constraints
val result = impressionsWithWatermark.join(
  clicksWithWatermark,
  expr("""
clickAdId = impressionAdId AND
clickTime >= impressionTime AND
clickTime <= impressionTime + interval 10 seconds
"""),
  joinType = "leftOuter"      // can be "inner", …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark spark-structured-streaming

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

tfds.load()之后如何在TensorFlow 2.0中应用数据增强

我正在遵循本指南

它显示了如何使用以下tfds.load()方法从新的TensorFlow数据集中下载数据集:

import tensorflow_datasets as tfds    
SPLIT_WEIGHTS = (8, 1, 1)
splits = tfds.Split.TRAIN.subsplit(weighted=SPLIT_WEIGHTS)

(raw_train, raw_validation, raw_test), metadata = tfds.load(
    'cats_vs_dogs', split=list(splits),
    with_info=True, as_supervised=True)
Run Code Online (Sandbox Code Playgroud)

后续步骤显示了如何使用map方法将函数应用于数据集中的每个项目:

def format_example(image, label):
    image = tf.cast(image, tf.float32)
    image = image / 255.0
    # Resize the image if required
    image = tf.image.resize(image, (IMG_SIZE, IMG_SIZE))
    return image, label

train = raw_train.map(format_example)
validation = raw_validation.map(format_example)
test = raw_test.map(format_example)
Run Code Online (Sandbox Code Playgroud)

然后访问元素,我们可以使用:

for features in ds_train.take(1):
  image, label = features["image"], features["label"]
Run Code Online (Sandbox Code Playgroud)

要么

for example in tfds.as_numpy(train_ds):
  numpy_images, …
Run Code Online (Sandbox Code Playgroud)

python tensorflow tensorflow-datasets data-augmentation tensorflow2.0

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

在plt.cm.get_cmap中可以使用什么名称?

我有这个代码:

plt.scatter(data_projected[:,0],data_projected[:,1],c=digits.target
        ,edgecolors='none',alpha=0.5,cmap=plt.cm.get_cmap('nipy_spectral',10));    
Run Code Online (Sandbox Code Playgroud)

我的困惑来自plt.cm.get_cmap('nipy_spectral',10)。有时会有plt.cm.get_cmap('RdYlBu')代替。

就是'RdYlBu''nipy_spectral'一个颜色的名称?还有其他名称可以代替吗?

是否有所有可用颜色的清单?

我已经阅读了该文档,但是它似乎无济于事,或者我听不懂。

python matplotlib data-analysis python-3.x matplotlib-basemap

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