小编sop*_*ros的帖子

你怎么给(openFST制作的)FST输入?输出在哪里?

在开始之前,请注意我正在使用linux shell(using subprocess.call()来自Python),我正在使用openFST.

我一直在筛选有关openFST的文档和问题,但我似乎无法找到这个问题的答案:如何实际为openFST定义的,编译和组合的FST提供输入?输出在哪里?我只是执行'fstproject'吗?如果是这样,我怎么会给它一个字符串来转换,并在达到最终状态时打印各种转换?

如果这个问题显而易见,我道歉.我还不熟悉openFST.

python shell fsm openfst

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

撤消或反转argsort(),python

给定一个数组'a'我想按列"sort(a,axis = 0)"对数组进行排序,然后对数组执行一些操作,然后撤消排序.通过这个我并不意味着重新排序,但基本上扭转每个元素的移动方式.我假设argsort()是我需要的但是我不清楚如何使用argsort()的结果对数组进行排序,或者更重要的是应用argsort()的反向/反向

这里有一些细节

我有一个数组a,shape(a)= rXc我需要对每列进行排序

aargsort = a.argsort(axis=0)  # May use this later
aSort = a.sort(axis=0)
Run Code Online (Sandbox Code Playgroud)

现在平均每一行

aSortRM = asort.mean(axis=1)
Run Code Online (Sandbox Code Playgroud)

现在用行均值替换行中的每个col.有没有比这更好的方法

aWithMeans = ones_like(a)
for ind in range(r)  # r = number of rows
    aWithMeans[ind]* aSortRM[ind]
Run Code Online (Sandbox Code Playgroud)

现在我需要撤消我在第一步中所做的排序.????

python arrays sorting numpy

20
推荐指数
4
解决办法
7717
查看次数

subDAG在Airflow中的工作原理如何?启用subDAG意味着什么?

我查看了Airflow subDAG部分,并尝试在网上找到其他任何有用的内容,但是我没有找到任何详细说明如何使subDAG工作的内容.subDAG运行的要求之一是它应该被启用.如何启用/禁用子标记?

我写了一些示例代码,它没有显示气流中的任何错误,但是当我尝试运行它时,subDAG中的所有操作符都没有执行.

这是我的主要dag代码:

import os
from airflow import DAG
from airflow.operators import BashOperator
from datetime import datetime, timedelta
from airflow.operators.subdag_operator import SubDagOperator
from linecount_subdag import sub_dag

parent_dag_name = 'example_linecount_dag'
child_dag_name = 'example_linecount_subdag'

args = {
    'owner': 'airflow',
    'start_date': datetime(2016, 04, 20),
    'retries': 0,
}
main_dag = DAG(
    dag_id=parent_dag_name,
    default_args=args,
    schedule_interval=timedelta(minutes=5),
    start_date=datetime(2016, 04, 20),
    max_active_runs=1
)

subdag = SubDagOperator(
    subdag=sub_dag(parent_dag_name, child_dag_name, args, main_dag.schedule_interval),
    task_id=child_dag_name,
    default_args=args,
    dag=main_dag)
t = BashOperator(
    task_id='start',
    bash_command='echo "waiting for subdag..."',
    default_args=args,
    dag=main_dag)
t.set_downstream(subdag)
Run Code Online (Sandbox Code Playgroud)

在此代码中,任务"start"成功,但是subdag任务不执行任何操作,既不会失败也不会成功.

这是我的subDAG代码:

from …
Run Code Online (Sandbox Code Playgroud)

python airflow

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

为什么在范围(1)中_的列表(next(iter(()))== []?

为什么list(next(iter(())) for _ in range(1))返回一个空列表而不是提高StopIteration

>>> next(iter(()))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration
>>> [next(iter(())) for _ in range(1)]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration
>>> list(next(iter(())) for _ in range(1))  # ?!
[]
Run Code Online (Sandbox Code Playgroud)

使用显式引发的自定义函数也会发生同样的事情StopIteration:

>>> def x():
...     raise StopIteration
... 
>>> x()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in x
StopIteration …
Run Code Online (Sandbox Code Playgroud)

python iterator for-loop

18
推荐指数
2
解决办法
354
查看次数

数字中的下划线是什么意思?

我想知道为什么以下变量被视为数字?

a = 1_000_000
print (a)
Run Code Online (Sandbox Code Playgroud)

百万

不应该print(a)回来1_000_000

python python-3.x

17
推荐指数
3
解决办法
1680
查看次数

Gensim在维基百科上训练word2vec - 预处理和参数

我正在尝试使用意大利维基百科" http://dumps.wikimedia.org/itwiki/latest/itwiki-latest-pages-articles.xml.bz2 " 从gensim训练word2vec模型

但是,我不确定这个语料库的最佳预处理是什么.

Gensim模型接受标记化句子列表.我的第一个尝试是使用Gensim的标准WikipediaCorpus预处理器.这提取每篇文章,删除标点符号并拆分空格.使用这个工具,每个句子都对应一个完整的模型,我不确定这个事实对模型的影响.

在此之后,我使用默认参数训练模型.不幸的是,在训练之后,似乎我没有想要获得非常有意义的相似之处.

对于此任务,维基百科语料库中最合适的预处理是什么?(如果这个问题太宽泛,请指点相关教程/文章帮助我)

这是我第一次试用的代码:

from gensim.corpora import WikiCorpus
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
corpus = WikiCorpus('itwiki-latest-pages-articles.xml.bz2',dictionary=False)
max_sentence = -1

def generate_lines():
    for index, text in enumerate(corpus.get_texts()):
        if index < max_sentence or max_sentence==-1:
            yield text
        else:
            break

from gensim.models.word2vec import BrownCorpus, Word2Vec
model = Word2Vec() 
model.build_vocab(generate_lines()) #This strangely builds a vocab of "only" 747904 words which is << than those reported in the literature 10M words
model.train(generate_lines(),chunksize=500)
Run Code Online (Sandbox Code Playgroud)

nlp gensim word2vec

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

django OSError:在 Windows 上找不到名为“cairo”的库

当我运行 Django 服务器时,我看到了这个问题!!

OSError: no library called "cairo" was found

no library called "libcairo-2" was found

cannot load library 'libcairo.so': error 0x7e

cannot load library 'libcairo.2.dylib': error 0x

cannot load library 'libcairo-2.dll': error 0x7e
Run Code Online (Sandbox Code Playgroud)

python windows pip cairo pycairo

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

解除特定代码行的PyCharm代码检查警告

PyCharm的代码检查是一个有用的工具,但有时它会出错.我知道您可以通过设置禁用整个类别的警告,但是如果您只想解除特定行的警告的特定实例,该怎么办?

code-inspection pycharm

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

为什么Parsimonious会使用IncompleteParseError拒绝我的输入?

我一直试图找出我设计的语言的基本骨架,并且我正在尝试使用Parsimonious来为我解析.截至目前,我已经宣布了以下语法:

grammar = Grammar(
    """
    program = expr*
    expr    = _ "{" lvalue (rvalue / expr)* "}" _
    lvalue  = _ ~"[a-z0-9\\-]+" _
    rvalue  = _ ~".+" _
    _       = ~"[\\n\\s]*"
    """
)
Run Code Online (Sandbox Code Playgroud)

当我尝试输出简单输入字符串的结果AST时"{ do-something some-argument }":

print(grammar.parse("{ do-something some-argument }"))
Run Code Online (Sandbox Code Playgroud)

Parsimonious决定拒绝它,然后给我这个有点神秘的错误:

Traceback (most recent call last):
  File "tests.py", line 13, in <module>
    print(grammar.parse("{ do-something some-argument }"))
  File "/usr/local/lib/python2.7/dist-packages/parsimonious/grammar.py", line 112, in parse
    return self.default_rule.parse(text, pos=pos)
  File "/usr/local/lib/python2.7/dist-packages/parsimonious/expressions.py", line 109, in parse
    raise IncompleteParseError(text, …
Run Code Online (Sandbox Code Playgroud)

python parsing peg python-2.7 parsimonious

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

python函数*args和**kwargs以及其他指定的关键字参数

我有一个Python类,其方法应该以这种方式接受参数和关键字参数

class plot:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def set_axis(self, *args, xlabel="x", ylabel="y", **kwargs):
        for arg in args:
            <do something>
        for key in kwargs:
             <do somethng else>
Run Code Online (Sandbox Code Playgroud)

打电话时:

plt = plot(x, y)
plt.set_axis("test1", "test2", xlabel="new_x", my_kwarg="test3")
Run Code Online (Sandbox Code Playgroud)

我收到错误: TypeError: set_axis() got multiple values for keyword argument 'xlabel'

无论如何,如果我设置我的方法

class plot:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def set_axis(self, xlabel="x", ylabel="y", *args, **kwargs):
        for arg in args:
            <do something>
        for key in kwargs: …
Run Code Online (Sandbox Code Playgroud)

python methods args kwargs python-2.7

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