标签: pipeline

为什么2>&1需要在|之前 (管道)但是在"> myfile"之后(重定向到文件)?

将stderr与stdout结合使用时,为什么2>&1需要在|(管道)之前但在> myfile(重定向到文件)之后呢?

要将stderr重定向到stdout以获取文件输出:

  echo > myfile 2>&1
Run Code Online (Sandbox Code Playgroud)

要将stderr重定向到管道的stdout:

  echo 2>&1 | less
Run Code Online (Sandbox Code Playgroud)



我的假设是我可以这样做:

  echo | less 2>&1 
Run Code Online (Sandbox Code Playgroud)

它会起作用,但事实并非如此.为什么不?

bash shell pipeline stdout pipe

14
推荐指数
2
解决办法
3598
查看次数

是否可以在sklearn管道中切换某个步骤?

我想知道我们是否可以设置一个"可选"步骤sklearn.pipeline.例如,对于分类问题,我可能想要在ExtraTreesClassifier没有PCA转换的情况下尝试使用AND .在实践中,它可能是一个带有额外参数的管道,指定PCA步骤的切换,以便我可以通过GridSearch等进行优化.我没有在sklearn源中看到这样的实现,但是有没有解决方法?

此外,由于流水线中后续步骤的可能参数值可能取决于前一步骤中的参数(例如,ExtraTreesClassifier.max_features依赖的有效值PCA.n_components),是否可以在sklearn.pipeline和中指定这样的条件依赖性sklearn.grid_search.

谢谢!

python pipeline machine-learning scikit-learn

14
推荐指数
2
解决办法
2708
查看次数

更新:将所有更新合并到一个分支/PR

一旦有新版本,Renovate 就会更新软件包。但 renovate 还会为每次更新创建一个单独的 PR/分支。因此,如果为我的 5 个包 renovate 发布的新版本将创建 5 个分支。\n这会导致 5 个管道,其中 1 个 PR 被合并,其他 4 个将重新设置基础并再次运行管道。因此,每次合并时将运行 15 个 PR 管道 + 分支管道main
\n因此总共将运行 19 个管道。

\n

是否可以将 \xe2\x80\x93 假设所有次要更新和补丁更新 \xe2\x80\x93 合并到一个分支和 PR 中,以避免出现大量 PR?

\n

我发现的唯一的事情是prConcurrentLimit它避免了每次合并时 PR 管道的变基和重新运行。但这也会触发 10 个管道。

\n

如果我可以将所有内容组合在一起,则只有 1 个 PR 管道和 1 个main分支管道。所以总共有2条管道。那将是真棒。

\n

pipeline config renovate

14
推荐指数
1
解决办法
6847
查看次数

关闭管道python子进程的stdout

以下是我在python子进程模块文档中可以阅读的内容:

Replacing shell pipeline

    output=`dmesg | grep hda`
    ==>
    p1 = Popen(["dmesg"], stdout=PIPE)
    p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE)
    p1.stdout.close()  # Allow p1 to receive a SIGPIPE if p2 exits.
    output = p2.communicate()[0]

The p1.stdout.close() call after starting the p2 is important in order for p1
to receive a SIGPIPE if p2 exits before p1.
Run Code Online (Sandbox Code Playgroud)

我真的不明白为什么在创建p2之后我们必须关闭p1.stdout.什么时候完全执行p1.stdout.close()?当p2永远不会结束时会发生什么?当p1或p2结束时会发生什么?

python shell subprocess pipeline

13
推荐指数
1
解决办法
2314
查看次数

是否可以在Powershell中有条件地进行管道,即仅在满足条件时才执行管道元素?

我想做这样的事情:

<statement> | <filter1> | <filter2> if <condition> | <filter3> | <filter4> | <filter5>
Run Code Online (Sandbox Code Playgroud)

<statement>的结果通过<filter1>运行,然后只有满足<condition>才会运行<filter2>,然后通过剩余的过滤器运行,无论是否应用了<filter2>.这相当于:

if (<condition>) {
  <statement> | <filter1> | <filter2> | <filter3> | <filter4> | <filter5>
} else {
  <statement> | <filter1> | <filter3> | <filter4> | <filter5>
}
Run Code Online (Sandbox Code Playgroud)

这在仅在调用某个开关时将给定过滤器应用于结果集的函数中非常有用.如果条件过滤器在长流水线中早期发生,则使用外部if块编写它会导致大量重复代码,尤其是在存在多个条件过滤器的情况下.

这是一个例子.以下函数显示给定帐户在给定目录子树中Show-AccountPerms \\SERVERX\Marketing DOMAIN\jdoe具有的权限(例如,在\ SERVERX\Marketing下的目录树中提供用户DOMAIN\jdoe具有的权限报告).

function Show-AccountPerms {
    param (
        [parameter(mandatory = $true)]$rootdir,
        [parameter(mandatory = $true)]$account,
        [switch]$files,
        [switch]$inherited
    )
    gci -r $rootdir `
    |where {$_.psiscontainer} `
    |foreach {
        $dir = $_.fullname
        (get-acl $_.pspath).access `
        | where …
Run Code Online (Sandbox Code Playgroud)

powershell conditional pipeline pipe filter

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

使用Python设计可扩展的管道

背景:我目前正在使用Python代码为大型天文成像系统的数据减少管道.主要管道类通过许多离散处理"阶段"传递实验数据.

这些阶段是用单独的.py文件编写的,它们构成了一个包.在运行时生成可用阶段列表,以便用户可以选择运行数据的阶段.此方法的目的是允许用户在将来创建其他阶段.

问题:所有管道配置参数和数据结构(当前)位于主管道类中.有没有一种简单的方法可以在运行时导入的阶段中访问它们?

我目前的最佳尝试似乎"错误"并且有点原始,因为它使用循环导入和类变量.是否有一种方法可以让管道实例将引用传递给它自己作为它调用的每个阶段的参数?

这是我第一次编写一个大型python项目,而我缺乏设计知识.

任何帮助将不胜感激.

python pipeline

13
推荐指数
1
解决办法
5378
查看次数

取消管道streams2管道并清空它的正确方法(不仅仅是刷新)

前提

我正在尝试找到在Node.js中过早终止一系列管道流(管道)的正确方法:有时我想在流完成之前优雅地中止流.具体来说,我正在处理大部分objectMode: true和非原生的并行流,但这并不重要.

问题

问题是当我unpipe在管道中时,数据保留在每个流的缓冲区中并被drain编辑.对于大多数中间流(例如/ ),这可能没问题,但是最后一个仍然流向其写目标(例如文件或数据库或套接字或w/e).如果缓冲区包含数百或数千个块需要花费大量时间来消耗,则这可能是有问题的.我希望它立即停止,即不要排水; 为什么浪费周期和内存对数据无关紧要?ReadableTransformWritable

根据我去的路线,我收到"写后结束"错误,或者当流找不到现有管道时发生异常.

什么是优雅地杀死表单中的流管道的正确方法a.pipe(b).pipe(c).pipe(z)

解?

我提出的解决方案是3步:

  1. unpipe 管道中的每个流以相反的顺序排列
  2. 清空实现的每个流的缓冲区 Writable
  3. end 每个实现的流 Writable

一些伪代码说明了整个过程:

var pipeline = [ // define the pipeline
  readStream,
  transformStream0,
  transformStream1,
  writeStream
];

// build and start the pipeline
var tmpBuildStream;
pipeline.forEach(function(stream) {
    if ( !tmpBuildStream ) {
        tmpBuildStream = stream;
        continue;
    }
    tmpBuildStream = lastStream.pipe(stream);
});

// sleep, timeout, event, etc...

// tear down the …
Run Code Online (Sandbox Code Playgroud)

pipeline pipe node.js node.js-stream

13
推荐指数
1
解决办法
1229
查看次数

powershell在什么条件下展开管道中的项目?

考虑以下:

function OutputArray{
    $l = @(,(10,20))
    $l
}

(OutputArray) -is [collections.ienumerable]
# C:\ PS> True
(OutputArray).Count
# C:\ PS> 2
Run Code Online (Sandbox Code Playgroud)

$l 当它进入管道时被"展开". 这个答案表明powershell展开了所有集合. 哈希表是一个集合.但是,哈希表当然不受管道的影响:

function OutputHashtable{
    $h = @{nested=@{prop1=10;prop2=20}}
    $h
}

(OutputHashtable) -is [collections.ienumerable]
# C:\ PS> True
(OutputHashtable).Count
# C:\ PS> 1
Run Code Online (Sandbox Code Playgroud)

这条评论表明,所有IEnumerable都转换为对象数组.但是,数组和散列表都是不可数的:

@(,(10,20)) -is [collections.ienumerable]
#True
@{nested=@{prop1=10;prop2=20}} -is [collections.ienumerable]
#True
Run Code Online (Sandbox Code Playgroud)

究竟,PowerShell将对象"展开"到管道中的条件是什么?

collections powershell ienumerable pipeline

13
推荐指数
1
解决办法
1638
查看次数

如何在scikit-learn中用管道调整自定义内核函数的参数

目前我已经使用def函数成功定义了一个自定义内核函数(预先计算内核矩阵),现在我使用GridSearchCV函数来获取最佳参数.

因此,在自定义内核函数中,总共有2个参数将被调整(即下例中的gamm和sea_gamma),而且对于SVR模型,还必须调整cost c参数.但到目前为止,我可以使用GridSearchCV 调整成本c参数 - >请参考下面的第一部分:示例.

我搜索了一些类似的解决方案,例如:

是否可以在scikit-learn中使用网格搜索调整参数来定制内核?

它说:" 实现这一目标的一种方法是使用Pipeline,SVC(kernel ='precomputed')并将自定义内核函数包装为sklearn估计器(BaseEstimator和TransformerMixin的子类).)"但这仍然与我的情况不同然而,问题是,我尝试基于此解决方案解决问题,但到目前为止它没有打印任何输出,甚至是任何错误. - >请参考第二部分:管道解决方案.

第一部分:示例 - >我在网格搜索中的原始自定义内核和评分方法是:

    import numpy as np
    import pandas as pd
    import sklearn.svm as svm
    from sklearn import preprocessing,svm, datasets
    from sklearn.preprocessing import StandardScaler,  MaxAbsScaler
    from sklearn.metrics.pairwise import rbf_kernel
    from sklearn.grid_search import GridSearchCV
    from sklearn.svm import SVR
    from sklearn.pipeline import Pipeline
    from sklearn.metrics.scorer import make_scorer

    # weighting the vectors
    def distance_scale(X,Y):
        K = np.zeros((X.shape[0],Y.shape[0]))
        gamma_sea =192

        for i in range(X.shape[0]):
            for j …
Run Code Online (Sandbox Code Playgroud)

python pipeline svm scikit-learn grid-search

13
推荐指数
1
解决办法
1333
查看次数

通知GitLab中失败管道的所有组成员

目标是让每个人都获得每个失败管道的通知(由他们自行决定).目前,我们任何人都可以在这个项目分支上运行管道,管道的创建者会收到一封电子邮件,其他人都没有.我已经尝试了通知级别设置为watchcustom (with failed pipelines checked)在项目组与没有成功的全球水平.有关通知的帮助页面显示自定义通知级别的失败管道复选框通知管道的作者(这是我遇到的行为).有没有办法让多人收到管道故障的通知?

  • 使用Gitlab CE v10.0
  • 有团体(安全::内部)
  • 集团有项目(安全::内部)
  • 项目已安排pipleine(近乎运行)
  • 管道运行集成测试(故意失败)
  • 我创建的时间表(时间表必须有所有者)
  • 当自动管道运行并失败时,我收到一封电子邮件(好)
  • 没有其他人收到电子邮件(坏)

notifications pipeline gitlab

13
推荐指数
1
解决办法
4591
查看次数