我正在使用 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)
我是在正确的轨道上,还是我的方法不正确,我需要以不同的方式建立模型?任何建议/示例表示赞赏!
我正在使用kafka-node(kafka的节点客户端),使用使用者来检索有关主题的消息.不幸的是,我收到了"offsetOutOfRange"条件(调用了offsetOutOfRange回调).我的应用程序运行良好,直到消费者显着落后于生产者,在最早和最新的偏移之间留下了一个很大的差距.此时我(也许是错误的)假设消费者能够继续接收消息(并希望能够接收到生产者).
我的kafka消费者客户端代码如下:
:
:
var kafka = require('kafka-node');
var zookeeper = "10.0.1.201:2181";
var id = "embClient";
var Consumer = kafka.Consumer;
var client = new kafka.Client(zookeeper, id);
var consumer = new Consumer( client, [ { topic: "test", partition: 0 } ], { autoCommit: false } );
consumer.on('error', [error callback...]);
consumer.on('offsetOutOfRange', [offset error callback...]);
consumer.on('message', [message callback...]);
:
:
Run Code Online (Sandbox Code Playgroud)
我做错了什么,或者我错过了什么?
如果没有,我有几个问题:
(a)是否有一种公认的"最佳"方式来写客户端以优雅地处理这种情况?
(b)为何会提出这个条件?(我假设一个客户应该能够继续阅读它停止的消息,最终(理想情况下)赶上......)
(c)我是否需要编写代码/逻辑来处理这种情况,并明确地重新定位消费者偏移量以进行读取?(这看起来有点麻烦)......
任何帮助表示赞赏.
我正在关注Kubernetes教程,并在我的MacBook上使用Minikube作为我的Kubernetes环境.本教程中的所有步骤都运行良好,但Ingress工作除外(我正在关注的Ingress教程位于:https://cloud.google.com/container-engine/docs/tutorials/http-balancer) .通过Ingress访问时,我收到"301 Moved Permanently"错误.
我的环境:
我使用默认的Ingress控制器(minikube的nginx)并成功启用了入口:
minikube addons enable ingress
Run Code Online (Sandbox Code Playgroud)
然后我按照教程中的步骤操作:
第1步:部署nginx服务器(SUCCESSFUL)
kubectl run nginx --image=nginx --port=80
Run Code Online (Sandbox Code Playgroud)
步骤2a:在内部将您的nginx部署公开为服务(SUCCESSFUL)
kubectl expose deployment nginx --target-port=80 --type=NodePort
Run Code Online (Sandbox Code Playgroud)
步骤2b:验证服务是否可用:
kubectl get service nginx
Run Code Online (Sandbox Code Playgroud)
输出:
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx 10.0.0.170 <nodes> 80:31635/TCP 7s
Run Code Online (Sandbox Code Playgroud)
从上面,我知道服务是正确创建的......
第3步:创建Ingress资源(SUCCESSFUL)
Ingress配置YAML(basic-ingress.yaml):
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: basic-ingress
spec:
backend:
serviceName: nginx
servicePort: 80
Run Code Online (Sandbox Code Playgroud)
现在应用YAML:
kubectl apply -f basic-ingress.yaml
Run Code Online (Sandbox Code Playgroud)
步骤4a:验证Ingress
kubectl get ingress basic-ingress
Run Code Online (Sandbox Code Playgroud)
输出:
NAME HOSTS ADDRESS PORTS AGE …Run Code Online (Sandbox Code Playgroud) 我正在训练Keras(在MacBook上为Tensorflow后端,Python),并且在fit_generator函数的早期停止回调中遇到错误。错误如下:
RuntimeWarning: Early stopping conditioned on metric `val_loss` which is not available. Available metrics are:
(self.monitor, ','.join(list(logs.keys()))),
RuntimeWarning: Can save best model only with val_acc available, skipping.
'skipping.' % (self.monitor), RuntimeWarning
[local-dir]/lib/python3.6/site-packages/keras/callbacks.py:497: RuntimeWarning: Early stopping conditioned on metric `val_loss` which is not available. Available metrics are:
(self.monitor, ','.join(list(logs.keys()))), RuntimeWarning
[local-dir]/lib/python3.6/site-packages/keras/callbacks.py:406: RuntimeWarning: Can save best model only with val_acc available, skipping.
'skipping.' % (self.monitor), RuntimeWarning)
Traceback (most recent call last):
:
[my-code]
:
File "[local-dir]/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 91, in wrapper
return func(*args, …Run Code Online (Sandbox Code Playgroud) 我正在使用 spaCy(一个很棒的 Python NLP 库)来处理许多非常大的文档,但是,我的语料库中有许多我想在文档处理管道中消除的常用词。有没有办法从管道组件内的文档中删除令牌?
我想结合两个Pandas系列A和B来获得C:
A:
1 odd
2 Nan
3 odd
4 Nan
5 odd
6 Nan
B:
1 Nan
2 even
3 Nan
4 even
5 Nan
6 even
Run Code Online (Sandbox Code Playgroud)
C应如下所示(其中A中有Nan值,则应使用B中的值,反之亦然)
C:
1 odd
2 even
3 odd
4 even
5 odd
6 even
Run Code Online (Sandbox Code Playgroud)
可能有一种简单的方法可以做到这一点,但它逃脱了我...
任何帮助表示赞赏!
有没有办法将每行包含一个数组的 Pandas 系列转换为 2D numpy 数组?
当您在 Python 中显示时,该系列如下所示:
[array([ 58., -1., -1., -1., -1.])
array([ 77., 95., -1., -1., -1.])]
Run Code Online (Sandbox Code Playgroud)
我想得到一个看起来像这样的 numpy 矩阵:
[[ 58., -1., -1., -1., -1.]
[ 77., 95., -1., -1., -1.]]
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以做到这一点?任何帮助表示赞赏!
我正在使用GitHub API从GitHub下载文件.我已经能够成功进行身份验证以及从github获取响应,并查看表示文件内容的base64编码字符串.
不幸的是,当解码base64字符串时,我得到一个不寻常的错误(字符串长度不是4的倍数).
HTTP请求如下所示:
GET /repos/:owner/:repo/contents/:path
Run Code Online (Sandbox Code Playgroud)
(部分)响应如下所示:
{
"name":....,
"download_url":...",
"type":"file",
"content":"ewogICAgInN3YWdnZXIiOiAiM...
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是字符串的长度是15263字节,我在解码字符串时遇到错误(字符串长度不是4的倍数).我正在使用node.js和'base64-js'npm模块来解码字符串.执行解码的代码如下所示:
var base64 = require('base64-js');
var contents = base64.toByteArray(fileContent);
Run Code Online (Sandbox Code Playgroud)
解码会导致异常:
Error: Invalid string. Length must be a multiple of 4
at placeHoldersCount (.../node_modules/base64-js/index.js:23:11)
at Object.toByteArray (...node_modules/base64-js/index.js:42:18)
:
:
Run Code Online (Sandbox Code Playgroud)
我认为GitHub API正在向我发送正确的数据,所以我认为这不是问题.
我是不正确地执行解码还是我忽略了另一个问题?
任何帮助表示赞赏.
我正在使用 Debezium(Kafka 连接器)来捕获 Postgres 数据库更改,但我从 Debezium 收到错误。有谁知道下面的错误意味着什么,并可能提供修复它的建议。
更多调试信息:
Postgres|dbserver1|snapshot After applying the include/exclude list filters, no changes will be captured. Please check your configuration! [io.debezium.relational.RelationalDatabaseSchema]
Run Code Online (Sandbox Code Playgroud)
我已经(在日志中)验证 Kafka(和模式注册表等)是否正常运行,并且 Debezium 连接器似乎已启动,Postgres iw 正常工作并且创建了数据库和表。
以下是 Debezium 连接器配置:
{
"name": "banking-postgres-connector",
"config": {
"connector.class": "io.debezium.connector.postgresql.PostgresConnector",
"database.hostname": "postgres",
"database.port": "5432",
"database.user": "postgres",
"database.password": "postgres",
"database.dbname" : "banking",
"database.server.name": "dbserver1",
"database.include.list": "banking",
"tasks.max": "1",
"table.include.list": "public.x_account,public.x_party,public.x_product,public.x_transaction"
}
}
Run Code Online (Sandbox Code Playgroud) postgresql apache-kafka debezium debezium-engine debezium-server
python ×5
apache-kafka ×2
keras ×2
pandas ×2
base64 ×1
debezium ×1
github-api ×1
keras-layer ×1
kubernetes ×1
minikube ×1
nginx ×1
nlp ×1
node-github ×1
node.js ×1
numpy ×1
postgresql ×1
spacy ×1
tensorflow ×1