小编Eri*_*oda的帖子

如何在gcloud和minikube之间切换kubectl集群

我让Kubernetes在两个不同的环境中运行良好,即在我的本地环境(运行minikube的MacBook)以及Google的Container Engine(GCE,Google Cloud上的Kubernetes).我使用MacBook /本地环境开发和测试我的YAML文件,然后在完成后,在GCE上尝试它们.

目前我需要单独处理每个环境:我需要在本地环境中编辑YAML文件,并在准备好后,(git)将它们克隆到GCE环境,然后使用/部署它们.这是一个有点麻烦的过程.

理想情况下,我想使用Macbook中的kubectl轻松切换本地minikube或GCE Kubernetes环境,并轻松确定YAML文件的使用位置.有没有一种简单的方法来切换上下文来做到这一点?

kubernetes google-kubernetes-engine minikube

90
推荐指数
6
解决办法
3万
查看次数

如何从外部访问docker中的JMX接口?

我正在尝试远程监视在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)

java jmx docker jmxtrans

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

使用GraphQL(v4 API)在GitHub中搜索代码

我正在使用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的查询字符串相同.

我的问题是:

  1. 我是否错误地使用了GitHub GraphQL(v4)API,或者我是否未正确指定查询字符串,或者我是否尝试使用尚不支持的功能?
  2. 有没有一个如何做到这一点的例子,有人可以提供(或链接)说明如何搜索特定单词的代码?

github github-api graphql

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

XGBClassifier num_class无效

我正在使用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)

任何有关修复此错误的帮助表示赞赏!

python xgboost

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

Golang记录http响应(除了请求)

我正在使用Go和Gorilla Web工具包的mux和处理程序包来构建复杂的应用程序,其中一部分需要使用http服务器。Gorilla的mux和handler程序包运行良好,我能够成功启动并运行http服务器,并且记录请求非常简单。

但是,我无法确定如何记录响应。理想情况下,我希望有一种类似于Gorilla的LoggingHandler的机制,可以轻松地“包装”日志记录机制。

是否有一个Golang软件包可以轻松包装/记录响应?有没有一种我没有考虑过的使用Go或Gorilla的功能的方法?

go gorilla

6
推荐指数
3
解决办法
7393
查看次数

使用 spaCy 将词向量映射到最相似/最接近的词

我正在使用 spaCy 作为主题建模解决方案的一部分,并且我需要将派生词向量映射到词向量词汇表中的“最接近”或“最相似”词。

我看到 gensim 有一个函数 (WordEmbeddingsKeyedVectors.similar_by_vector) 来计算这个,但我想知道 spaCy 是否有这样的东西来将向量映射到其词汇表 (nlp.vocab) 中的单词?

nlp word2vec spacy word-embedding

6
推荐指数
3
解决办法
3456
查看次数

有没有办法计算plotly Scatter3d的最佳sizeref值

我正在使用很棒的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)

python r plotly

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

单个单词的 Spacy 词形还原

我正在尝试获取单个单词的词形还原版本。有没有办法使用“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_),但是我需要词形还原的单词是有点动态,无法作为大文档进行处理。

nlp spacy

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

是否有GoLang记录器允许以不同的格式登录到控制台以及日志文件

我来自node.js背景,并且对许多记录器(例如winston)感到满意,这些记录器允许将可配置的格式化输出发送到多个源(例如控制台)以及日志文件,其中每个记录器的输出格式可能不同.

我正在尝试与GoLang做类似的事情,并且很难找到支持此功能的日志包.

有没有GoLang包可以用来实现这个结果?

go

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

Keras Sequential 模型的多个嵌入层

我正在使用 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)

我是在正确的轨道上,还是我的方法不正确,我需要以不同的方式建立模型?任何建议/示例表示赞赏!

python keras keras-layer

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