我让Kubernetes在两个不同的环境中运行良好,即在我的本地环境(运行minikube的MacBook)以及Google的Container Engine(GCE,Google Cloud上的Kubernetes).我使用MacBook /本地环境开发和测试我的YAML文件,然后在完成后,在GCE上尝试它们.
目前我需要单独处理每个环境:我需要在本地环境中编辑YAML文件,并在准备好后,(git)将它们克隆到GCE环境,然后使用/部署它们.这是一个有点麻烦的过程.
理想情况下,我想使用Macbook中的kubectl轻松切换本地minikube或GCE Kubernetes环境,并轻松确定YAML文件的使用位置.有没有一种简单的方法来切换上下文来做到这一点?
我正在尝试远程监视在docker中运行的JVM.配置如下所示:
机器1:在ubuntu机器上的docker中运行JVM(在我的例子中,运行kafka); 本机的IP是10.0.1.201; 在docker中运行的应用程序是172.17.0.85.
机器2:运行JMX监控
请注意,当我从机器2运行JMX监视时,它会因以下错误的版本而失败(注意:当我运行jconsole,jvisualvm,jmxtrans和node-jmx/npm:jmx时会出现相同的错误):
失败时的堆栈跟踪对于每个JMX监视工具看起来类似于以下内容:
java.rmi.ConnectException: Connection refused to host: 172.17.0.85; nested exception is
java.net.ConnectException: Operation timed out
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
(followed by a large stack trace)
Run Code Online (Sandbox Code Playgroud)
现在有趣的是,当我在运行docker(上面的机器1)的同一台机器上运行相同的工具(jconsole,jvisualvm,jmxtrans和node-jmx/npm:jmx)时,JMX监控正常工作.
我认为这表明我的JMX端口处于活动状态且工作正常,但是当我远程执行JMX监视时(从机器2),它看起来像JMX工具无法识别内部docker IP(172.17.0.85)
下面是机器1上JMX监控工作的相关(我认为)网络配置元素(注意docker ip,172.17.42.1):
docker0 Link encap:Ethernet HWaddr ...
inet addr:172.17.42.1 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr:... Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6787941 errors:0 dropped:0 overruns:0 frame:0
TX packets:4875190 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1907319636 (1.9 GB) TX bytes:639691630 (639.6 MB)
wlan0 Link encap:Ethernet HWaddr ...
inet addr:10.0.1.201 …Run Code Online (Sandbox Code Playgroud) 我正在使用GitHub的GraphQL API来搜索包含特定单词的文件/代码.一个简单的(人为的)搜索示例,在这种情况下,在"食谱"(回购)中为"someuser"(回购的所有者)找到文件中的"牛肉"一词如下所示:
{
search(query: "beef repo:someuser/recipes", type: REPOSITORY, first: 10) {
repositoryCount
edges {
node {
... on Repository {
name
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在GitHub的GraphQL Explorer(https://developer.github.com/v4/explorer/)中尝试了这个并且从搜索中得到零结果是不正确的,因为我可以确认这个词(上例中的"牛肉")是在repo中的文件中:
{
"data": {
"search": {
"repositoryCount": 0,
"edges": []
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我通过curl使用GitHub的REST API(v3)尝试这个时,我肯定会得到结果:
curl --header 'Accept: application/vnd.github.v3.raw' https://api.github.com/search/code?q=beef+repo:someuser/recipes
Run Code Online (Sandbox Code Playgroud)
...所以我知道查询(REST v3 API)是有效的,我的理解是GraphQL(v4)API中的查询字符串与REST(v3)API的查询字符串相同.
我的问题是:
我正在使用XGBClassifier(在xgboost中)进行多类分类.执行分类器后,我收到一条错误说明:
unexpected keyword argument 'num_class'
Run Code Online (Sandbox Code Playgroud)
导致此错误的代码如下所示(params是xgb的一组有效参数):
xgb.XGBClassifier(params, num_class=100)
Run Code Online (Sandbox Code Playgroud)
我搜索了一下,发现'num_class'参数被命名为'n_classes',用于XGBClassifier的scikit实现.我尝试了这个更改并收到了类似的错误:
unexpected keyword argument 'n_classes'
Run Code Online (Sandbox Code Playgroud)
导致此错误的代码如下所示:
xgb.XGBClassifier(params, num_class=100)
Run Code Online (Sandbox Code Playgroud)
任何有关修复此错误的帮助表示赞赏!
我正在使用Go和Gorilla Web工具包的mux和处理程序包来构建复杂的应用程序,其中一部分需要使用http服务器。Gorilla的mux和handler程序包运行良好,我能够成功启动并运行http服务器,并且记录请求非常简单。
但是,我无法确定如何记录响应。理想情况下,我希望有一种类似于Gorilla的LoggingHandler的机制,可以轻松地“包装”日志记录机制。
是否有一个Golang软件包可以轻松包装/记录响应?有没有一种我没有考虑过的使用Go或Gorilla的功能的方法?
我正在使用 spaCy 作为主题建模解决方案的一部分,并且我需要将派生词向量映射到词向量词汇表中的“最接近”或“最相似”词。
我看到 gensim 有一个函数 (WordEmbeddingsKeyedVectors.similar_by_vector) 来计算这个,但我想知道 spaCy 是否有这样的东西来将向量映射到其词汇表 (nlp.vocab) 中的单词?
我正在使用很棒的plotly 库来绘制3D 散点图,并尝试确定如何计算气泡的大小。
请注意,数据并不那么重要(并且很难在此处显示),除了气泡的大小应随“大小”属性中的数据值缩放之外。不幸的是,该数据的值会随着时间的推移而变化,因此设置固定的“大小”值是不切实际的。plotly 提供了“sizeref”属性(参见下面的代码)来缩放气泡的大小。我发现了一个适用于 2D 但似乎不适用于 3D 图表的公式(在plotly 网站上)。
我的问题是:有没有一个方便的公式来计算 sizeref 的值?我认为 sizeref 公式将取决于数据的最大/最小值(即“size”属性的数据)和布局大小(按照下面的代码,高度为 800,宽度为 800)。我尝试过一些自己的公式,但没有一个效果很好。
任何想法将不胜感激(注意:我正在使用Python,但我怀疑该解决方案适用于R中的绘图代码)。
import plotly
import plotly.graph_objs as go
#
# The dataframe, df, is calculated elsewhere
#
x = list(df["comp-0"])
y = list(df["comp-1"])
z = list(df["comp-2"])
text = list(df["label"])
color = list(df["cluster"])
size = list(df["degree"])
sizeref = 50
sizemin = 1
trace1 = go.Scatter3d(
x=x, y=y, z=z,
text=text,
mode="markers",
marker=dict(
sizemode="diameter",
sizeref=sizeref,
sizemin=sizemin,
size=size,
color=color,
colorscale="Viridis",
line=dict(color="rgb(150, 150, 150)")
)
)
data = [trace1] …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取单个单词的词形还原版本。有没有办法使用“spacy”(神奇的 python NLP 库)来做到这一点。
下面是我尝试过的代码,但这不起作用):
from spacy.lemmatizer import Lemmatizer
from spacy.lookups import Lookups
lookups = Lookups()
lemmatizer = Lemmatizer(lookups)
word = "ducks"
lemmas = lemmatizer.lookup(word)
print(lemmas)
Run Code Online (Sandbox Code Playgroud)
我希望的结果是“ducks”(复数)这个词会变成“duck”(单数)。不幸的是,“ducks”(复数)被返回。
有办法做到这一点吗?
注意:我意识到我可以处理文档(nlp(document))中的整个单词字符串,然后找到所需的标记,然后获取其引理(token.lemma_),但是我需要词形还原的单词是有点动态,无法作为大文档进行处理。
我来自node.js背景,并且对许多记录器(例如winston)感到满意,这些记录器允许将可配置的格式化输出发送到多个源(例如控制台)以及日志文件,其中每个记录器的输出格式可能不同.
我正在尝试与GoLang做类似的事情,并且很难找到支持此功能的日志包.
有没有GoLang包可以用来实现这个结果?
我正在使用 Keras(tensorflow 后端)并且想知道如何将多个嵌入层添加到 Keras Sequential 模型中。
更具体地说,我的数据集中有几列具有分类值,并且我已经考虑使用单热编码,但已确定分类项目的数量为数百,导致大量且过于稀疏的列集。在寻找解决方案时,我发现 Keras 的嵌入层似乎非常优雅地解决了这个问题。但是,大多数示例(和 Keras 文档)说明了一个非常简单的情况,其中包含一个 Embedding 层。
不幸的是,我不知道如何将多个 Embedding 层作为输入集成到单个模型中。
我的代码看起来像这样,但它不起作用,我猜测多个 Embedding 层按顺序操作(第一个 Embedding 层输入第二个,依此类推)而不是模型的多个输入源:
model = Sequential()
model.add(Embedding(500, 64, input_length=10)) # categorical col 1
model.add(Embedding(100, 64, input_length=10)) # categorical col 2
model.add(Embedding(500, 64, input_length=10)) # categorical col 3
model.add(Flatten...
model.add(Dense...
Run Code Online (Sandbox Code Playgroud)
我的问题是如何建立 Keras Sequential 模型,以便能够使用上面显示的三个嵌入层。第一层和最后一层之间的具体内容:
model = Sequential()
#
# What goes here?
#
model.add(Dense...
Run Code Online (Sandbox Code Playgroud)
我是在正确的轨道上,还是我的方法不正确,我需要以不同的方式建立模型?任何建议/示例表示赞赏!