小编Lon*_*yen的帖子

如何在shell脚本中运行“poetry shell”?

我使用 Python Poetry 并需要自动化该过程。具体来说,每次我需要进入一个目录

cd /work/directory
Run Code Online (Sandbox Code Playgroud)

并生成一个诗歌外壳

poetry shell
Run Code Online (Sandbox Code Playgroud)

并再次转到另一个目录

cd /other/directory
Run Code Online (Sandbox Code Playgroud)

完成工作。

我很想用一个小脚本来自动执行此操作,例如

#!/bin/bash

cd /work/directory
poetry shell
cd /other/directory
# do work
Run Code Online (Sandbox Code Playgroud)

然而,每当我运行这个脚本时,我就会卡在poetry shell. 有没有像 bash 这样的选项,-c以便我可以执行以下操作?

poetry shell -c "cd /other/directory && do work"
Run Code Online (Sandbox Code Playgroud)

linux python-poetry

9
推荐指数
2
解决办法
1万
查看次数

java如何区分Lambda中的Callable和Runnable?

我得到了这个小代码来测试Callable.但是,我发现编译器可以知道Lambda是用于Interface Callable还是Runnable,因为它们的函数中都没有任何参数,这让我很困惑.

但是,IntelliJ显示Lambda使用Callable的代码.

public class App {
    public static void main(String[] args) throws InterruptedException {
        ExecutorService executorService = Executors.newCachedThreadPool();
        executorService.submit(() ->{
            System.out.println("Starting");
            int n = new Random().nextInt(4000);
            try {
                Thread.sleep(n);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }finally {
                System.out.println("Finished");
            }
            return n;
        });
        executorService.shutdown();
        executorService.awaitTermination(1, TimeUnit.MINUTES );
    }
}
Run Code Online (Sandbox Code Playgroud)

java lambda multithreading java-8 functional-interface

7
推荐指数
1
解决办法
382
查看次数

为什么 Java BigInteger 说“可能是素数”而不是“肯定是素数”?

BigInteger的JavaDoc让我觉得很不安全,例如下面的构造函数说:

BigInteger(int bitLength, int certainty, Random rnd)
Run Code Online (Sandbox Code Playgroud)

构造一个随机生成的正 BigInteger,它可能是质数,具有指定的 bitLength。

为什么只有大概?为什么不肯定?我还能相信结果是质数吗?

java biginteger

1
推荐指数
2
解决办法
190
查看次数

Tensorflow Batchnormalization - 类型错误:轴必须是 int 或 list,给定类型:<class 'tensorflow.python.framework.ops.Tensor'>

以下是我训练 U-Net 的代码。它主要是正常的 Keras 代码,具有我自己的损失函数和指标,这对于错误来说并不重要。为了避免过度拟合,我尝试在每个卷积层之后添加 BatchNormalization 层,但是,我不断收到一个非常奇怪的错误。

inputs = tf.keras.layers.Input((self.height, self.width, self.channel))
c1 = tf.keras.layers.Conv2D(16, (3, 3), padding='same')(inputs)
c1 = tf.keras.layers.BatchNormalization(c1)
c1 = tf.keras.layers.LeakyReLU(self.alpha)(c1)
c1 = tf.keras.layers.Dropout(self.dropout_rate)(c1)
c1 = tf.keras.layers.Conv2D(16, (3, 3), padding='same')(c1)
c1 = tf.keras.layers.LeakyReLU(self.alpha)(c1)
c1 = tf.keras.layers.Dropout(self.dropout_rate)(c1)
p1 = tf.keras.layers.MaxPooling2D((2, 2))(c1)

....

u9 = tf.keras.layers.Conv2DTranspose(16, (2, 2), strides=(2, 2), padding='same')(c8)
u9 = tf.keras.layers.concatenate([u9, c1], axis=3)
c9 = tf.keras.layers.Conv2D(16, (3, 3), padding='same')(u9)
c9 = tf.keras.layers.LeakyReLU(self.alpha)(c9)
c9 = tf.keras.layers.Dropout(self.dropout_rate)(c9)
c9 = tf.keras.layers.Conv2D(16, (3, 3), padding='same')(c9)
c9 = tf.keras.layers.LeakyReLU(self.alpha)(c9)
c9 = …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow

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

为什么递增操作++ a ++不起作用,至少在C中?

我很好奇,发现当前的一段代码不起作用,但我无法弄清楚原因:

#include <stdio.h>

void main(){
        int a = 42;
        printf("%d\n", ++a++);
}
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎不是一个错误的语法.有人可以解释错误输出吗?

first.c: In function ‘main’:
first.c:5:17: error: lvalue required as increment operand
  printf("%d\n", ++a++);
Run Code Online (Sandbox Code Playgroud)

c increment pre-increment post-increment

-4
推荐指数
2
解决办法
171
查看次数