标签: pipeline

如何简化这个xproc管道?

我刚刚开始深入研究XProc(使用Calabash).我有一系列XSLT转换我想应用于单个输入文档以生成单个输出文档.我以前使用一个简单的Python脚本来驱动转换,但似乎XProc可能是一个很好的选择.

下面的管道似乎对我有用.它基本上只是需要以正确顺序应用的XSLT转换列表.问题是,这似乎是多余的.我希望有一些方法可以减少它,但(到目前为止)我无法自己解决这个问题.

<?xml version="1.0"?>
<p:pipeline version="1.0" xmlns:p="http://www.w3.org/ns/xproc">
    <p:xslt name="remove-locations">
        <p:input port="stylesheet">
            <p:document href="preprocessors/remove-locations.xsl"/>
        </p:input>
    </p:xslt>

    <p:xslt name="divisions-1">
        <p:input port="stylesheet">
            <p:document href="preprocessors/divisions-1.xsl"/>
        </p:input>
    </p:xslt>

    <p:xslt name="divisions-2">
        <p:input port="stylesheet">
            <p:document href="preprocessors/divisions-2.xsl"/>
        </p:input>
    </p:xslt>

    <p:xslt name="subjects-1">
        <p:input port="stylesheet">
            <p:document href="preprocessors/subjects-1.xsl"/>
        </p:input>
    </p:xslt>

    <p:xslt name="subjects-2">
        <p:input port="stylesheet">
            <p:document href="preprocessors/subjects-2.xsl"/>
        </p:input>
    </p:xslt>

    <p:xslt name="types-1">
        <p:input port="stylesheet">
            <p:document href="preprocessors/types-1.xsl"/>
        </p:input>
    </p:xslt>

    <p:xslt name="types-2">
        <p:input port="stylesheet">
            <p:document href="preprocessors/types-2.xsl"/>
        </p:input>
    </p:xslt>

    <p:xslt name="core">
        <p:input port="stylesheet">
            <p:document href="preprocessors/core.xsl"/>
        </p:input>
    </p:xslt>

    <p:xslt name="consolidate-descriptions">
        <p:input port="stylesheet">
            <p:document href="preprocessors/consolidate-descriptions.xsl"/>
        </p:input> …
Run Code Online (Sandbox Code Playgroud)

xml pipeline saxon xproc

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

C中的switch语句是否清空了x86管道?

在C中命中switch语句(假设它使用跳转表)是否清空了x86处理器的管道?我想它可能是因为它需要表查找的结果来知道接下来要执行的指令.它能否尽早将结果转发回管道不会完全清空?

c x86 pipeline switch-statement

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

Java中的多线程管道

关于在Java中运行多个执行管道的线程,我遇到了问题.

说管道的'输入'是:

5条指令即:I1,I2,I3,I4,I5

如果已经取出I1,它现在可以进行解码,但fetch操作不会等待decode任务完成.在将获取的指令传送到之后decode,fetch操作现在将获得下一条指令I2,依此类推.

这是一个有五个阶段的流水线调度.

如何使用java多线程模拟这样的机器?

java multithreading pipeline

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

CUDA核心管道

我正在关注这篇关于GPU预测模型的文章.在第5页第二列几乎结束时他们说

最后需要注意的事实是,GPU上的SM中的每个Nc核(SP)都具有D深度管道,其具有并行执行D线程的效果.

我的问题与D-deep管道有关.这个管道是什么样的?是不是类似于CPU的管道(我的意思只是因为GPU-CPU架构完全不同)关于获取,解码,执行,回写?

是否存在记录此文档的文档?

cuda pipeline gpgpu

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

为什么管道总是返回"0"后回显返回值($?)

我意识到这个事实,但我不知道为什么:

cat abc | echo $?
Run Code Online (Sandbox Code Playgroud)

如果abc不存在,但上面的命令仍然返回0.有谁知道关于为什么的理论?

shell pipeline echo

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

如何在多列上使用Spark QuantumDiscretizer

所有,

我有一个毫升管道设置如下

import org.apache.spark.ml.feature.QuantileDiscretizer
import org.apache.spark.sql.types.{StructType,StructField,DoubleType}    
import org.apache.spark.ml.Pipeline
import org.apache.spark.rdd.RDD
import org.apache.spark.sql._
import scala.util.Random

val nRows = 10000
val nCols = 1000
val data = sc.parallelize(0 to nRows-1).map { _ => Row.fromSeq(Seq.fill(nCols)(Random.nextDouble)) }
val schema = StructType((0 to nCols-1).map { i => StructField("C" + i, DoubleType, true) } )
val df = spark.createDataFrame(data, schema)
df.cache()

//Get continuous feature name and discretize them
val continuous = df.dtypes.filter(_._2 == "DoubleType").map (_._1)
val discretizers = continuous.map(c => new QuantileDiscretizer().setInputCol(c).setOutputCol(s"${c}_disc").setNumBuckets(3).fit(df))
val pipeline = new …
Run Code Online (Sandbox Code Playgroud)

dictionary pipeline scala quantile apache-spark

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

在Pipeline for GridSearchCV中替换不同的模型

我想在sklearn中构建一个Pipeline并使用GridSearchCV测试不同的模型.

只是一个例子(请不要注意选择的特定型号):

reg = LogisticRegression()

proj1 = PCA(n_components=2)
proj2 = MDS()
proj3 = TSNE()

pipe = [('proj', proj1), ('reg' , reg)]

pipe = Pipeline(pipe)

param_grid = {
    'reg__c': [0.01, 0.1, 1],
}

clf = GridSearchCV(pipe, param_grid = param_grid)
Run Code Online (Sandbox Code Playgroud)

在这里,如果我想尝试不同的模型来减少维数,我需要编写不同的管道并手动比较它们.有一个简单的方法吗?

我想出的一个解决方案是定义从基本估算器派生的我自己的类:

class Projection(BaseEstimator):
    def __init__(self, est_name):
        if est_name == "MDS":
            self.model = MDS()
        ...
    ...
    def fit_transform(self, X):
        return self.model.fit_transform(X)
Run Code Online (Sandbox Code Playgroud)

我认为它会起作用,我只是创建一个Projection对象并将其传递给Pipeline,使用估算器的名称作为参数.

但对我来说,这种方式有点乱,不可扩展:每次我想比较不同的模型时,我都会定义新类.另外,为了继续这个解决方案,可以实现一个执行相同工作但具有任意模型集的类.这对我来说似乎过于复杂.

比较不同模型的最自然和pythonic方法是什么?

python pipeline scikit-learn cross-validation grid-search

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

Tensorflow数据集API:具有镶木地板文件的输入管道

我正在尝试使用数据集API设计输入管道。我正在处理镶木地板文件。将它们添加到我的管道的好方法是什么?

pipeline parquet tensorflow

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

Haskell的绑定运算符(>> =)是否等同于F#的正向管道运算符(|>)?

输入Haskell绑定运算符的签名(>> =):

m a -> (a -> m b) -> m b
Run Code Online (Sandbox Code Playgroud)

输入F#的前向管道运算符(|>)的签名:

'a -> ('a -> 'b) -> 'b
Run Code Online (Sandbox Code Playgroud)

他们看起来很相似 考虑到F#的不纯性,|>Haskell中的等价运算符是>>=

例如:

哈斯克尔:

getLine >>= putStrLn
Run Code Online (Sandbox Code Playgroud)

F#:

stdin.ReadLine() |> stdout.Write
Run Code Online (Sandbox Code Playgroud)

monads f# haskell pipeline bind

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

是否可以在不到一个小时的时间内调度gitlab管道?

我尝试设置每20分钟运行一次的计划管道。我*/20 * * * *在设置中使用了自定义的cron语法(),但是gitlab不支持此设置,而是仍然每小时运行一次。

这是gitlab错误还是我错过了什么?

cron pipeline gitlab

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