我不知道如何搜索这个,所以真的没有成功。我将从我拥有的数据类开始,
以下是培训计划实体(示例)
@Data
@Entity
@Table(name = "TRAINING_PLAN")
@JsonIgnoreProperties({"trainings"})
public class TrainingPlan {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
@Column(name = "CURRENT_PHASE")
private int currentPhase;
@Column(name = "PREVIOUS_TRAINING_PLAN_ID")
private Long previousTrainingPlanId;
@OneToMany(mappedBy = "trainingPlan", fetch = FetchType.LAZY)
private List<Training> trainings = new ArrayList<Training>();
以下是培训实体(示例)
@Data
@Entity
@Table(name = "TRAINING")
public class Training {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "TRAINING_PLAN_ID")
private TrainingPlan trainingPlan;
我希望我能够清楚地解释这一点,所以我在这里试图实现的是从所有以前的(培训计划)阶段获得培训。
工作原理——当创建下一个(新培训计划)计划阶段时,它会使用之前的PlanID引用旧计划,以便识别其父计划(类似的层)。
例如,如果TrainingPlan有第2阶段,我可以很容易地从第1阶段获得类似的培训:
public List<Training> trainingsFromPreviousPhase(TrainingPlan plan, List<TrainingPlan> planList) {
List<Training> previousPhaseTrainings = new ArrayList<Training>();
if (plan.getPreviousTrainingPlanId() != null) {
TrainingPlan previousPlanPhase = planList.parallelStream()
.filter(e -> e.getId() == plan.getPreviousTrainingPlanId()).findAny().get();
previousPhaseTrainings = previousPlanPhase.getTrainings();
}
return previousPhaseTrainings;
}
现在的问题是,如果一个计划处于第5阶段,我需要从所有前4个阶段获得培训,这就是我陷入困境的地方,想不出一种自动循环的方法。我希望我解释的不是太难理解。欢迎任何建议或问题。
我在这里需要的是类似于:
List<List<Training>> getTrainingsFromAllPreviousPhases()
您可以像这样循环执行所有计划阶段:
TrainingPlan currentPlan = plan;
List<Training> allTrainings = new ArrayList<>();
while (cirrentPlan.getPreviousTrainingPlanId() != null) {
TrainingPlan previousPlanPhase = planList.parallelStream()
.filter(e -> e.getId() == currentPlan.getPreviousTrainingPlanId()).findAny().get();
allTrainings.addAll(previousPlanPhase.getTrainings());
currentPlan = previousPlanPhase;
}
然而,为了避免重复浏览计划列表以通过id找到一个,我建议将它们保存在地图中:
Map<Long, TrainingPlan> planMap = planList.stream()
.collect(Collectors.toMap(TrainingPlan::getId, Function.identity());
然后可以简化代码(视觉上和O(n)复杂度方面):
TrainingPlan currentPlan = plan;
List<Training> allTrainings = new ArrayList<>();
while (currentPlan.getPreviousTrainingPlanId() != null) {
TrainingPlan previousPlanPhase = planMap.get(currentPlan.getPreviousTrainingPlanId());
allTrainings.addAll(previousPlanPhase.getTrainings());
currentPlan = previousPlanPhase;
}
Recurrent层 所有的循环层(LSTM,GRU,SimpleRNN)都继承本层,因此下面的参数可以在任何循环层中使用 SimpleRNN层 GRU层 LSTM层 ConvLSTM2D层 SimpleRNNCell层 GRUCell层 LSTMCell层 StackedRNNCells层 CuDNNGRU层 CuDNNLSTM层
Recurrent层 keras.layers.recurrent.Recurrent(return_sequences=False, go_backwards=False, stateful=False, unroll=False, implementation=0) 这是循环层的抽象类,请不要在模型中直接应用该层(因为它是抽象类,无法实例化任何对象)。请使用它的子类LSTM,GRU或Simp
然而,我研究了API和公共库以及github的细节,但我找不到任何方法来: 检索所有公共存储库/映像(即使有数千个,我仍然需要一个开始列表来迭代) 查找图像的所有层 查找层的大小(因此不是图像,而是单个层的大小)。 谁能帮我找到检索这些信息的方法吗?
问题内容: 该表表示类别层次结构,层次结构顶部的元素的父ID为NULL。该表如下所示: 我正在尝试做的是建立一个SQL查询,这将使我返回: 任何给定[categoryId]的[categoryId],[categoryName]链。它应该循环并获取每一行,直到到达具有parentId == NULL的行为止。 如上面的示例示例234-> 91-> 35-> 20-> 1-> NULL(STOP)
我试图满足几个使用FFMPEG构建视频文件的分层场景。 场景1:将一个视频(指定视频的不透明度)覆盖在一个图像的顶部,作为结果创建一个新的视频。 我用以下方法解决了这个问题: 我正在将视频缩放到3840x2160以匹配我的图像(理想的情况下,我会让它们事先匹配)。 场景2:现在有3层,视频-图像-图像。中间的图像层是带有文字的透明图像。所以我们有一个基础图像,上面覆盖了文本,在一定的不透明度下有一
[source] RNN keras.layers.RNN(cell, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False) 循环神经网络层基类。 参数 cell: 一个 RNN 单元实例。RNN 单元是一个具有以下几项的类: 一个 call(input_at_