标签: pipeline

MIPS、流水线和分支延迟槽示例

我正在准备考试,就有这样的例子。以下代码:

1: SLL $1, $1, 2
2: LW $2, 1000($1)
3: BEQL $2, $0, END
4: ADDI $3, $2, 1
5: MULT $3, $2
6: MFLO $4
END:
7: J QUIT
...
QUIT:
100: NOP
Run Code Online (Sandbox Code Playgroud)

在 RISC 处理器(具有准 MIPS 指令集)上执行

  • 五级管道
  • 没有绕过
  • 动态调度
  • 分支延迟槽
  • 此外我们知道,该分支不会被采用

我的任务是了解分支延迟槽在这种情况下如何工作并构建正确的管道图。

我有一个官方的解决方案,它给出了下图,但没有解释:

1: SLL $1, $1, 2         IDEMW  
2: LW $2, 1000($1)        I---DEMW  
3: BEQL $2, $0, END           I---DEMW  
4: ADDI $3, $2, 1                 IDx
5: MULT $3, $2                       IDEMW
6: MFLO …
Run Code Online (Sandbox Code Playgroud)

assembly pipeline mips risc

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

错误:合并到主分支后缺少绑定“binding.node”

我尝试在 GitLab 的一个分支中的 CI/CD 中配置自动代码覆盖率,并且管道在分支内完美通过,但是当管理员将更改合并到主分支时,管道由于缺少绑定而失败。

我曾经gitlab-ci.yml在其中配置我的作业。我没有任何使用管道的经验,所以这对我来说几乎是一个反复试验的任务。

最后,我得到了对我有用的配置,它不会破坏任何东西并根据需要生成覆盖范围。但是,由于它在成功构建之前显示无空间错误,因此我不得不强制清除缓存以使作业正常运行。在我的分支中,管道通过而没有任何错误,我通过多次重新运行来进行双重检查。但是一旦管理员合并了分支,它突然开始产生以下错误:

ERROR in Module build failed: Error: Missing binding /builds/internal/employee_portal/node_modules/node-sass/vendor/linux-x64-64/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 10.x

Found bindings for the following environments:
  - Linux 64-bit with Node.js 11.x

This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to download the binding for your current environment.
    at module.exports (/builds/internal/employee_portal/node_modules/node-sass/lib/binding.js:15:13)
    at Object.<anonymous> (/builds/internal/employee_portal/node_modules/node-sass/lib/index.js:14:35)
    at Module._compile …
Run Code Online (Sandbox Code Playgroud)

continuous-integration pipeline continuous-deployment gitlab docker

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

scikit learn Pipeline 是否将 StandardScaler 应用于 y?

鉴于我的管道是

pipe = Pipeline([('scaler', StandardScaler()), ('regressor', LinearRegression())])
Run Code Online (Sandbox Code Playgroud)

然后我调用pipe.fit(X_train, y_train),管道是将缩放器应用于功能和目标还是仅应用于功能?

如果不是,则该y参数在fit_transformStandardScaler的方法中有何用途?文档真的很混乱。
因为fit它说这y是被忽略的。因为fit_transform它说“使变压器适合 Xy”。因为transform它说y已弃用。

我尝试浏览 github 上的源代码,但很快就在函数链中迷失了方向。

python pipeline scikit-learn

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

在上传文件或在网络上写入文件之前查找流的内容长度

我正在读取文件,对其进行压缩和加密,然后在网络上上传/写入。但我需要知道最终流的内容长度(通过读取、压缩、加密后返回的流)才能发出发布请求。

let zlib = zlib.createGzip(),
   encrypt = crypto.cipherIV(....),
    input = fs.createReadStream('file.jpg');
function zipAndEncrypt(){
   let stream = readStream.pipe( zlib).pipe( encrypt );
   let options = {
     "stream_length":0,
     headers: { "content-type": 'image/jpeg',
                "content-length": '123456', // need to get this length 
          .....
     }
    }

// post the stream
needle( 'post', url, stream, options )
   .then( resp => { console.log( "file length", resp.body.length);})
   .catch( err => {})
}
Run Code Online (Sandbox Code Playgroud)

如果我在标题中输入正确的内容长度(在这种情况下我知道长度),上面的代码就可以工作。所以我需要找到流的长度。

到目前为止,我通过以下方式达到了长度:

  let chunk = [], conLength;
  stream.on( 'data', ( data ) => {
            chunk.push( data ); …
Run Code Online (Sandbox Code Playgroud)

javascript pipeline stream node.js needle.js

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

Select-Object -First 影响管道中的先前 cmdlet

Strongly Encouraged Development Guidelinescmdlet 应该为管道中间实现的 PowerShell ,但我怀疑-Last对于Select-Object. 仅仅是因为您无法预先确定最后一个条目。换句话说:您需要等待输入流完成,直到您定义最后一个条目。
为了证明这一点,我写了一个小脚本:

$Data = 1..5 | ForEach-Object {[pscustomobject]@{Index = "$_"}}

$Data | ForEach-Object { Write-Host 'Before' $_.Index; $_ } |
Select-Object -Last 5 | ForEach-Object { Write-Host 'After' $_.Index }
Run Code Online (Sandbox Code Playgroud)

并将其与Select-Object *

$Data | ForEach-Object { Write-Host 'Before' $_.Index; $_ } |
Select-Object * | ForEach-Object { Write-Host 'After' $_.Index }
Run Code Online (Sandbox Code Playgroud)

结果(右:Select-Object -Last 5,左:)Select-Object *

-Last 5  *
-------  - …
Run Code Online (Sandbox Code Playgroud)

powershell pipeline select-object

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

Cross Validation using Dagster

I've started using Dagster in our ML pipeline, and am running into some basic issues that I'm wondering if I'm missing something trivial here or if this is just how it is...

Say I have a simple ML pipepline:

Load raw data --> Process data into table --> Split train / test --> train model --> evaluate model.
Run Code Online (Sandbox Code Playgroud)

A linear model is straight forward in Dagster. But what if I want to add a little loop, say for cross-validation purposes: …

python architecture pipeline machine-learning dagster

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

在 Sklearn PIpeline 和交叉验证中使用缩放器

之前看过一个帖子,代码是这样的:

scalar = StandardScaler()
clf = svm.LinearSVC()

pipeline = Pipeline([('transformer', scalar), ('estimator', clf)])

cv = KFold(n_splits=4)
scores = cross_val_score(pipeline, X, y, cv = cv)
Run Code Online (Sandbox Code Playgroud)

我的理解是:当我们应用缩放,我们应该使用3出4倍来计算平均值和标准差,那么我们应用均值和标准差的所有4倍。

在上面的代码中,我怎么知道 Sklearn 遵循相同的策略?另一方面,如果 sklearn 不遵循相同的策略,这意味着 sklearn 将计算所有 4 折的均值/标准差。这是否意味着我不应该使用上述代码?

我喜欢上面的代码,因为它节省了大量的时间。

python pipeline scikit-learn cross-validation

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

Azure YAML-Pipeline 跳过作业,我不知道为什么

即使我设置了 System.Debug=True,除了“作业被跳过”之外,我没有得到其他信息。字面意思就是这四个字。

我在 Azure Devops 上创建了一个 YAML-Release 管道,它基本上运行这些作业:

  • 工作:build_release
  • 工作:部署:deploy_test
  • 工作:部署:deploy_stage

为了测试行为,我首先只运行前两个作业并部署到 TEST。现在我想部署到 STAGE,但似乎只有当我从头开始/创建新版本时,管道才起作用。但是我现在想要做的是将已经存在的版本从 TEST 部署到 STAGE。当我尝试通过重新运行管道来做到这一点时,Azure 只会跳过所有步骤。为什么会这样?如何避免这种情况并重新运行管道?我没有设置任何条件。

编辑附加信息:

管道结构


trigger:
    - release/*

variables:
     ...

resources:
    -   repo: self


pool:
    vmImage: $(vmImageName)

stages:
    -   stage: build_release
        displayName: 'awesome build'
        condition: contains(variables['Build.SourceBranchName'], 'release/')
        jobs:
            -   job: build_release
                steps:
                    ...

    -   stage: deploy_test
        displayName: 'awesome test deploy'
        jobs:
            -   deployment: deploy_test
                environment: 'test'
                strategy:
                    runOnce:
                        deploy:
                            steps:
                               ...

    -   stage: deploy_stage
        displayName: 'awesome stage deploy'
        jobs:
            -   deployment: deploy_stage
                environment: 'stage'
                strategy: …
Run Code Online (Sandbox Code Playgroud)

yaml pipeline azure azure-pipelines azure-yaml-pipelines

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

如何在bash中有条件地添加管道元素

我需要形成各种命令的管道。管道的某些元素或元素序列仅在某些条件成立时才相关。现在,我可以写:

if [[ $whatever ]]; then
   cmd1 | cmd2 | cmd3 | cmd4
else
   cmd1 | cmd4
fi
Run Code Online (Sandbox Code Playgroud)

但这意味着重复cmd1and cmd4,另外,可能有几个条件,我不想写嵌套的 if 。所以,我试着写这个:

if [[ $whatever ]]; then
    pipeline_segment="| cmd2 | cmd3"
else
    pipeline_segment=""
fi

cmd1 ${pipeline_segment} | cmd4
Run Code Online (Sandbox Code Playgroud)

但是 - 管道符号没有被解释为使用管道的指令。

我如何让 bash 也执行我想要的管道?

注意:您可以假设 bash 版本为 4 或更高,但前提是您必须这样做。

bash pipeline pipe conditional-execution

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

如何将 Powershell 命令的输出用作另一个 Powershell 命令的参数?

我想折叠这些 Powershell 命令:

$colour = ""
$colour1 = "Red"
$colour2 = "Green"
if ($var -eq 0) {
    # failure
    $colour = $colour1
} Else {
    # success
    $colour = $colour2
}
Write-Host ("Answer = " + $var) -ForegroundColor $colour
Run Code Online (Sandbox Code Playgroud)

成一行,使用if上面表达式的输出作为 的输入参数Write-Host,例如:

Write-Host ("Answer = " + $var) -ForegroundColor &{if ($var -eq 0) {'Red'} else {'Green'}
Run Code Online (Sandbox Code Playgroud)

我尝试过但失败的事情:

Write-Host ("Answer = " + $var) -ForegroundColor &{if ($var -eq 0) {'Red'} else {'Green'}
Write-Host ("Answer = " + $var) …
Run Code Online (Sandbox Code Playgroud)

powershell command pipeline parameter-passing command-line-arguments

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