小编Pat*_*ick的帖子

正则表达式只匹配大写"单词"和一些例外

我有以下技术字符串:

"The thing P1 must connect to the J236 thing in the Foo position."
Run Code Online (Sandbox Code Playgroud)

我想用正则表达式匹配那些只有大写的单词(即here P1J236).问题是,当它是一个单字母的单词时,我不想匹配句子的第一个字母.

例如,在:

"A thing P1 must connect ..." 
Run Code Online (Sandbox Code Playgroud)

我只想P1,不是AP1.通过这样做,我知道我可以错过一个真正的"单词"(比如"X must connect to Y"),但我可以忍受它.

另外,如果句子全部为大写,我不想匹配大写单词.

例:

"THING P1 MUST CONNECT TO X2."
Run Code Online (Sandbox Code Playgroud)

当然,理想情况下,我想匹配技术词汇P1X2这里,但因为它们被"隐藏"在全大写句子中,并且因为这些技术词语没有特定的模式,所以这是不可能的.我再一次能忍受它,因为我的文件中的全大写句子并不常见.

谢谢!

regex match uppercase

27
推荐指数
4
解决办法
16万
查看次数

Python图例:标记出现两次

使用matplotlib制作的图例的简单绘图产生以下内容:我的图例标签左侧的标记出现两次.任何人都可以知道为什么以及如何避免这个问题?我的命令是:

pl.plot(x1,x2,'g^', label='regional')
pl.plot(y1,y2,'bo', label='local')
pl.legend( loc='upper left' )
Run Code Online (Sandbox Code Playgroud)

谢谢

python matplotlib legend

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

芹菜:守护进程不允许有孩子

在Python(2.7)中,我尝试在芹菜任务(celery 3.1.17)中创建进程(使用多处理),但它给出了错误:

daemonic processes are not allowed to have children
Run Code Online (Sandbox Code Playgroud)

谷歌搜索它,我发现最新版本的台球修复了"错误",但我有最新版本(3.3.0.20),错误仍在发生.我也试图在我的芹菜任务中实现这个解决方法,但它给出了同样的错误.

有谁知道怎么做?任何帮助表示赞赏,帕特里克

编辑:代码片段

任务:

from __future__ import absolute_import
from celery import shared_task
from embedder.models import Embedder

@shared_task
def embedder_update_task(embedder_id):
    embedder = Embedder.objects.get(pk=embedder_id)
    embedder.test()
Run Code Online (Sandbox Code Playgroud)

人工测试功能(从这里):

def sleepawhile(t):
    print("Sleeping %i seconds..." % t)
    time.sleep(t)
    return t    

def work(num_procs):
    print("Creating %i (daemon) workers and jobs in child." % num_procs)
    pool = mp.Pool(num_procs)

    result = pool.map(sleepawhile,
        [randint(1, 5) for x in range(num_procs)])

    # The following is not really needed, …
Run Code Online (Sandbox Code Playgroud)

python daemon celery python-2.7 python-multiprocessing

12
推荐指数
3
解决办法
6929
查看次数

Django和REST API用于提供基于计算的请求

我在Django中编写了一个机器学习应用程序,因此用户可以在表单中指定一些参数并训练模型.一旦模型被训练,我想要提供如下请求:

curl http://localhost:8000/.../?model_input='XYZ' 
Run Code Online (Sandbox Code Playgroud)

我希望Django在给定输入XYZ的情况下返回模型的输出.我从Tastypie或REST框架中看到的每个示例都是从查询集构建其响应.如果响应不是查询集的结果而是内存中纯计算的结果,我该如何继续?在我的例子中,响应是由向量(输入)进行矩阵乘法(训练模型)的结果,并且该结果不存储在表中.

管理此类请求的推荐方法是什么?任何帮助是极大的赞赏.此致,帕特里克

python django tastypie django-rest-framework

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

如何从Wikidata Id获取维基百科页面?

如何从维基数据ID(例如:Q19675)获取维基百科页面(使用特定语言,比如法语)?这个问题似乎很明显,但奇怪的是,我在网上找不到任何内容.我正在寻找一个url命令,我可以使用请求Python模块,如:

url = "https://www.wikidata.org/w/api.php?action=some_method&ids=Q19675"
r = requests.post(url, headers={"User-Agent" : "Magic Browser"})
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?

wikipedia-api python-2.7 wikidata wikidata-api

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

GetUserTimeline总是返回我自己的时间轴

我正在使用python-twitter库,但我无法获得指定用户的时间线.例

print [s.text for s in api.GetUserTimeline('@BarackObama')]
Run Code Online (Sandbox Code Playgroud)

收益:

[u'test']
Run Code Online (Sandbox Code Playgroud)

这是我的最后一条推文(api是tweeter.Api(...)返回的对象).

有人可以帮我弄这个吗?

编辑:完整的代码:

import twitter
api = twitter.Api(consumer_key='',consumer_secret='',access_token_key='',access_token_key='')
print [s.text for s in api.GetUserTimeline('BarackObama')]
Run Code Online (Sandbox Code Playgroud)

python twitter timeline python-2.7

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

Wikidata API wbsearchentities:为什么 Python 中的结果与 Wikidata 中的结果不同?

我在 python 请求中使用 wbsearchentities (wikidata api),我想知道为什么返回的结果与 Wikidata 上看到的结果不同。例如,Python 中的以下命令:

url = "https://www.wikidata.org/w/api.php?action=wbsearchentities&search=%s&format=json&limit=50&formatversion=2&language=en" % ('New York Landmarks Preservation Commission')
r = requests.post(url,headers={"User-Agent" : "Magic Browser"})
Run Code Online (Sandbox Code Playgroud)

没有返回任何内容,但在维基数据的搜索框中进行相同的搜索会返回 2 个结果(其中一个是好的结果:纽约市地保护委员会。

理想情况下,我希望从我的 python 请求中返回所有这些结果。

python python-requests wikidata-api

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

Spark elasticsearch连接器:如何选择_id字段?

我正在使用 Spark Elasticsearch 连接器,我想从 ES 中提取一些字段以及 _id。

myquery = """{"query":..., """
val df = spark.read.format("org.elasticsearch.spark.sql")
                 .option("query", myquery)
                 .option("pushdown", "true")
                 .load("myindex/mytype")
                 .limit(10) 
                 .select("myfield","_id") 
Run Code Online (Sandbox Code Playgroud)

不幸的是,_id 字段无法识别:

AnalysisException: u'cannot resolve \'`_id`\' given input columns: 
[query, size, @version, @timestamp, 
 sourceinfo, signaletic, document, metadata, fields, aggs]
Run Code Online (Sandbox Code Playgroud)

通过此映射,我可以选择例如 document.{fieldA}、sourceinfo.{fieldB} 等,但不能选择 _id。就好像它在映射中处于较高级别一样。

知道如何获得这个特定的字段吗?

sql elasticsearch apache-spark

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

ValueError:使用 tf.saved_model.load 导入 SavedModel 需要“tags=' 参数

我正在关注带有 tensorflow 1.14 的 Keras教程集线器。我没有 pip install tf-nightly-gpu 因为它似乎不适用于 MacOS。一切顺利,直到 keras.Sequential() :

import tensorflow_hub as hub
from tensorflow.keras import layers
classifier_url ="https://tfhub.dev/google/imagenet/resnet_v2_50/feature_vector/3"
IMAGE_SHAPE = (224, 224)
classifier = tf.keras.Sequential([
     hub.KerasLayer(classifier_url, input_shape=IMAGE_SHAPE+(3,))
])
Run Code Online (Sandbox Code Playgroud)

最后一行给出以下错误:

ValueError: Importing a SavedModel with tf.saved_model.load requires a 'tags=' argument if there is more than one MetaGraph. Got 'tags=None', but there are 2 MetaGraphs in the SavedModel with tag sets [[], ['train']]. Pass a 'tags=' argument to load this SavedModel.
Run Code Online (Sandbox Code Playgroud)

它与tensorflow版本有关还是与其他东西有关?

MacOS High …

python-3.x tensorflow

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

由于JAR冲突,无法运行Flume

我手动安装了Flume和Hadoop(我的意思是,不是CDH),我正在尝试从Cloudera 运行twitter 示例.

apache-flume-1.5.0-SNAPSHOT-bin目录中,我使用以下命令启动代理:

bin/flume-ng agent -c conf -f conf/twitter.conf -Dflume.root.logger=DEBUG,console -n TwitterAgent
Run Code Online (Sandbox Code Playgroud)

我的conf/twitter.conf文件使用记录器作为接收器.该conf/flume-env.sh受让人类路径中flume-sources-1.0-SNAPSHOT.jar包含Twitter的源的定义.结果输出是:

(...) [ERROR org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:253)] Unable to start EventDrivenSourceRunner: { source:com.cloudera.flume.source.TwitterSource{name:Twitter,state:IDLE} } - Exception follows. java.lang.NoSuchMethodError:
twitter4j.FilterQuery.setIncludeEntities(Z)Ltwitter4j/FilterQuery;
at com.cloudera.flume.source.TwitterSource.start(TwitterSource.java:139)
Run Code Online (Sandbox Code Playgroud)

冲突源于FilterQuery在水槽lib中的其他地方定义的类,并且不包含该setIncludeEntities方法.对我来说,包含此类的文件是twitter4j-stream-3.0.3.jar,我不能按照此处的建议从类路径中排除该文件.

java hadoop twitter4j flume

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

kustomize configmap 命令:它有什么作用?

我是 kubernetes 的新手,我正在到处学习一些教程。我正在努力理解不同的组件和工具,其中之一就是 kustomize。我看到了 kustomize 用法的不同示例,但我不明白其中之一(即使在网上搜索后)。那么你能向我解释一下以下命令的功能吗kustomize

kustomize edit add configmap mnist-map-training --from-literal=trainSteps=200
Run Code Online (Sandbox Code Playgroud)

kubernetes kustomize

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