在开始之前,请注意我正在使用linux shell(using subprocess.call()来自Python),我正在使用openFST.
我一直在筛选有关openFST的文档和问题,但我似乎无法找到这个问题的答案:如何实际为openFST定义的,编译和组合的FST提供输入?输出在哪里?我只是执行'fstproject'吗?如果是这样,我怎么会给它一个字符串来转换,并在达到最终状态时打印各种转换?
如果这个问题显而易见,我道歉.我还不熟悉openFST.
给定一个数组'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)
现在我需要撤消我在第一步中所做的排序.????
我查看了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) 为什么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) 我想知道为什么以下变量被视为数字?
a = 1_000_000
print (a)
Run Code Online (Sandbox Code Playgroud)
百万
不应该print(a)回来1_000_000?
我正在尝试使用意大利维基百科" 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) 当我运行 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) PyCharm的代码检查是一个有用的工具,但有时它会出错.我知道您可以通过设置禁用整个类别的警告,但是如果您只想解除特定行的警告的特定实例,该怎么办?
我一直试图找出我设计的语言的基本骨架,并且我正在尝试使用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 }":
Run Code Online (Sandbox Code Playgroud)print(grammar.parse("{ do-something some-argument }"))
Parsimonious决定拒绝它,然后给我这个有点神秘的错误:
Run Code Online (Sandbox Code Playgroud)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, …
我有一个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)