问题标签 [sequence-generators]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
15 浏览

python-3.x - 在 print(list(generatorObject) 之后调用 next(generatorObject) 会引发 StopIteration 异常

在使用生成器时,我注意到如果执行以下代码,它会引发 StopIteration 异常:

有谁知道为什么?我认为对象的指针可能位于迭代器的末尾,但我也尝试仅打印第一项,但它仍然抛出相同的错误。

0 投票
1 回答
18 浏览

python-3.x - 在 python 中使用生成器时如何迭代类对象?

我想比较2000 对a 和 b,并打印匹配对和它们的数量。谁能帮我摆脱它。它显示此错误TypeError: 'seq_generator' object is not iterable at line 34

0 投票
1 回答
143 浏览

java - Spring Data JPA - 具有复合键的实体,其中一列是与另一列相关的内部序列

我在 Oracle 数据库中有如下表:

whereGROUP是外键,(GROUP, SEQ)是主键。我想为第 1 组插入下一条记录,应该是(1, <(MAX SEQ FOR GROUP 1) + 1>, <OTHER DATA>) = (1, 4, <OTHER DATA>).

我正在使用 Spring Boot 2。到目前为止,我有以下内容:

当我明确设置该seq字段时,如下例所示,一切正常。

但是我不知道如何在持久层中增加序列,而不向MyEntityRepository用于获取最大 seq 值并显式设置它的服务添加逻辑。我不能@GeneratedValue与序列生成器一起使用,因为它会在不考虑组的情况下生成下一个可用值。

0 投票
0 回答
184 浏览

java - MappedSuperclass - 更改子类中的 SequenceGenerator 而不在超类上使用 @GeneratedValue

我有一个基类:

未使用 @GeneratedValue,因为 id 是使用 BackendSession 生成的

这个类有很多继承,所以不能改变它!

我的子类:我试图覆盖 getId 方法

但是我在 IdentifierGenerationException 上失败了,我做错了什么?

0 投票
1 回答
60 浏览

cassandra - Cassandra 基于轻量级事务的序列生成器一致性失败?

概括

我们的团队继承了这个使用 Cassandra 实现的序列生成器;

桌子

它运行良好,直到昨天,我们发现两个不同的 java App 节点具有相同的序列号

发生这种情况的时间戳

这怎么可能发生?我们怎样才能知道到底发生了什么?

0 投票
0 回答
40 浏览

spring-boot - h2 中的序列生成器不提供唯一值

对于我的 spring boot api 测试中的 H2 数据库,有一个插入脚本,如下所示:

实体:

在生产 oracle 数据库上一切正常,但是在我使用 h2 数据库的测试环境中,当我尝试保存新实体时,序列生成器给我的 id 与 sql 迁移数据预定义的 id 重复。我能做些什么来解决这个问题?

诀窍是排除测试的插入脚本,但还有另一种可能的解决方案吗?

0 投票
1 回答
1981 浏览

spring-boot - Spring Boot Hibernate 没有获取 use-new-id-generator-mappings 属性

我正在将我的项目升级到使用 Hibernate 5.3.18 的 Spring Boot 2.1.18。

以前,我的实体看起来像这样,并且会使用 SequenceHiLoGenerator:

现在,默认情况下,在 Hibernate 5 中,它使用 SequenceStyleGenerator 导致违反约束,因为我的增量大小为 1,默认分配大小为 50。

保持兼容性的建议是设置此属性:

我这样做了,但似乎不需要,因为仍然使用 SequenceStyleGenerator。据我了解,这应该会导致它使用 SequenceHiLoGenerator。这是不正确的吗?

但是,如果我将实体修改为如下所示,它会按预期工作,复制我以前的功能。

因此,似乎该财产并未以某种方式被占用,我正在寻找原因。我看到它出现在我的 JpaProperties bean 中。如果我更改其他属性,例如我的方言,我可以看到它们正在生效。

谁能指出我实际读取该属性并决定使用哪个生成器的代码或指出我在这里犯的一些明显错误?

0 投票
1 回答
898 浏览

python - 从 tf.keras.utils.Sequence 构建的自定义数据生成器不适用于 tensorflow 模型的 fit api

我根据链接中的指南实现了一个序列生成器对象。

但是,它不适用于 tensorflow 模型的 fit api。下面是我用来复制这个问题的简单模型架构。

让我创建一个阅读器

r1 = reader(x_train, y_train, 20, 10)

然后我调用 model.fit api。

如果我不打扰,它将永远保持这种状态。出于好奇,我使用从 Keras api 创建的模型尝试了这种方法,令我惊讶的是它居然可以工作!

依赖项

  1. 张量流GPU:2.1
  2. keras GPU:2.3.1
0 投票
0 回答
18 浏览

python - 将填充序列拆分为输入和目标是否会导致问题?

我正在松散地遵循使用 Transformer 模型生成文本的 Tensorflow 教程。我创建了模型并对其进行了几次训练以进行测试,但是该模型在不到一个训练阶段的时间内就获得了 > 98% 的准确度(这对于文本生成任务来说是不可能的)并且当我要求它自己产生一个序列。如果我采用模型的 logits 输出的 argmax,我几乎总是以重复序列结束,例如“你你你你你......”或“to to to to to to to to...”

在给定特定输入起始序列的情况下分析模型的输出,我相信模型正在学习预测刚刚说的单词,而不是下一个单词,这显然是一项非常琐碎且无用的任务。

我开始相信这个问题是因为我的序列在被分割成输入和输出序列之前被填充到最大长度,这些序列在 1 个标记上移动。

例如,这是输入序列和目标序列的一个示例,由下式给出

您可以看到最后一个非填充标记 7999 包含在输入序列和目标序列中,因为教程似乎没有考虑额外的填充。不过我不明白,因为教程中没有提到这一点。

我认为前瞻掩码考虑到了这一点,但这对我来说没有意义。我是在寻找我的问题的正确区域还是隐藏在其他地方?

0 投票
1 回答
69 浏览

java - Hibernate GeneratorSequence 在 50 个条目后失败

我有一个具有以下 id 配置的实体:

使用这个生成器(Liquibase 语法):

和 Spring Data JPA 存储库:

现在我在我的应用程序中创建了大约 250 个Publication没有 id 的新对象,然后执行publicationRepository.saveAll(). 我得到以下异常:

我使用断点进行调试,发现这总是发生在第 50 个对象上,其中分配的 ID 突然被设置为已经存在于已保存对象集中的 ID——因此生成器似乎返回了错误的值。对于少于 50 个对象的集合,它可以正常工作。

还有什么奇怪的:创建的对象 ID 增加了 1,而如果NEXT VALUE FOR sequence_generator在我的数据库上执行,我得到的 ID 以 10 为增量。

我是不是用错了发电机?