我想要做的是在下面的2个流调用中显示.我想根据某些条件将一个集合拆分为两个新集合.理想情况下,我想在1中进行.我已经看到了用于.map函数的条件,但找不到forEach的任何内容.实现我想要的最好方法是什么?
animalMap.entrySet().stream()
.filter(pair-> pair.getValue() != null)
.forEach(pair-> myMap.put(pair.getKey(), pair.getValue()));
animalMap.entrySet().stream()
.filter(pair-> pair.getValue() == null)
.forEach(pair-> myList.add(pair.getKey()));
Run Code Online (Sandbox Code Playgroud) 我在pytorch训练模型.每10个时代,我正在评估整列火车和测试数据集的列车和测试误差.由于某种原因,评估功能导致我的GPU内存不足.这很奇怪,因为我有相同的批量大小用于培训和评估.我相信这是由于net.forward()方法被重复调用并将所有隐藏值存储在内存中但我不知道如何解决这个问题?
def evaluate(self, data):
correct = 0
total = 0
loader = self.train_loader if data == "train" else self.test_loader
for step, (story, question, answer) in enumerate(loader):
story = Variable(story)
question = Variable(question)
answer = Variable(answer)
_, answer = torch.max(answer, 1)
if self.config.cuda:
story = story.cuda()
question = question.cuda()
answer = answer.cuda()
pred_prob = self.mem_n2n(story, question)[0]
_, output_max_index = torch.max(pred_prob, 1)
toadd = (answer == output_max_index).float().sum().data[0]
correct = correct + toadd
total = total + captions.size(0)
acc = correct / total …Run Code Online (Sandbox Code Playgroud) 我正在使用OpenCV在Android上进行一些图像检测.我注意到如果试图将它拿到一个小物体上,那么OpenCV相机会非常模糊.有没有办法缩放相机和/或自定义焦点模式?我熟悉在常规的Android相机类上实现触摸焦点,但我不确定OpenCV的类有什么可能.我在网上找不到多少.
干杯,凯文
我想用 Java 8 流复制和并行化以下行为:
for (animal : animalList) {
// find all other animals with the same breed
Collection<Animal> queryResult = queryDatabase(animal.getBreed());
if (animal.getSpecie() == cat) {
catList.addAll(queryResult);
} else {
dogList.addAll(queryResult);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止
final Executor queryExecutor =
Executors.newFixedThreadPool(Math.min(animalList.size(), 10),
new ThreadFactory(){
public Thread newThread(Runnable r){
Thread t = new Thread(r);
t.setDaemon(true);
return t;
}
});
List<CompletableFuture<Collection<Animal>>> listFutureResult = animalList.stream()
.map(animal -> CompletableFuture.supplyAsync(
() -> queryDatabase(animal.getBreed()), queryExecutor))
.collect(Collectors.toList());
List<Animal> = listFutureResult.stream()
.map(CompletableFuture::join)
.flatMap(subList -> subList.stream())
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
1 - 我不知道如何拆分流,以便获得 …
我正在为我的算法做一些评估,我通过计算两个图像之间的3种不同类型的损失来比较一些生成的图像和地面实况图像.代码的逻辑是:
如下所示,每次迭代的代码运行时间都在增加.这使得代码无法在合理的时间内完成运行.可能是什么导致了这个?
代码包含在下面.此外,我正在使用爱德华图书馆的Tensorflow,如果这是相关的.我使用以下命令创建会话:
sess = ed.get_session()
Run Code Online (Sandbox Code Playgroud)
开始评估...... 100%|██████████████████████████████████████████ ███| 40/40 [01:36 <00:00,2.53s/it] ----------摘要图片001 ------------开始评价...... 100%| █████████████████████████████████████████████| 40/40 [01:44 <00:00,2.61s/it] ----------摘要图片002 ------------开始评价...... 100%| █████████████████████████████████████████████| 40/40 [01:57 <00:00,3.59s/it] ----------摘要图003 ------------开始评价...... 100%| █████████████████████████████████████████████| 40/40 [02:16 <00:00,3.34s/it] ----------摘要图004 ------------开始评价...... 100%| █████████████████████████████████████████████| 40/40 [02:25 <00:00,3.56s/it] ----------摘要图005 ------------开始评价...... 100%| █████████████████████████████████████████████| 40/40 [02:45 <00:00,4.00s/it] ----------摘要图006 ------------开始评价...... 100%| █████████████████████████████████████████████| 40/40 [02:54 <00:00,4.19s/it] ----------摘要图007 ------------开始评价...... 100%| █████████████████████████████████████████████| 40/40 [03:11 <00:00,4.58s/it] ----------摘要图片008 ------------开始评价...... 100%| ████████████████████████████████████████████| 40/40 [03:26 <00:00,5.02s/it] ----------摘要图片009 ------------开始评价...... 100%| ████████████████████████████████████████████| 40/40 [03:38 <00:00,5.58s/it] ----------摘要图片010 ------------开始评价...... 100%| …