小编cra*_*raq的帖子

是否可以在远程ssh命令中使用变量?

我想在远程机器上按顺序执行几个命令,后面的一些命令依赖于之前的命令.在最简单的例子中,我得到了这个:

ssh my_server "echo this is my_server; abc=2;"
this is my_server
abc=2: Command not found.
ssh my_server "echo this is my_server; abc=2; echo abc is $abc"
abc: undefined variable
Run Code Online (Sandbox Code Playgroud)

有关背景信息,我实际想要做的是拼凑一个路径并启动一个java应用程序:

ssh my_server 'nohup sh -c "( ( echo this is my_server; jabref_exe=`which jabref`; jabref_dir=`dirname $jabref_exe`; java -jar $jabref_dir/../jabref.jar` $1 &/dev/null ) & )"' &
jabref_dir: Undefined variable.
Run Code Online (Sandbox Code Playgroud)

这样,每当jabref更新到服务器上的新版本时,我就不必手动更新jar文件的路径.jabref可执行文件不接受参数,而是使用do启动它java -jar,这就是为什么我必须稍微改变路径.

目前,我在单独的脚本文件中有命令列表并调用

ssh my_server 'nohup sh -c "( ( my_script.sh &/dev/null ) & )"' &
Run Code Online (Sandbox Code Playgroud)

这是有效的,但由于ssh调用已经在一个脚本文件中,所以将所有内容放在一起会很不错.

ssh shell variable-assignment nohup

8
推荐指数
2
解决办法
3万
查看次数

如何在 keras 自定义回调中访问 tf.data.Dataset?

我编写了一个自定义 keras 回调来检查来自生成器的增强数据。(有关完整代码,请参阅此答案tf.data.Dataset。)但是,当我尝试对 a 使用相同的回调时,它给了我一个错误:

  File "/path/to/tensorflow_image_callback.py", line 16, in on_batch_end
imgs = self.train[batch][images_or_labels]
TypeError: 'PrefetchDataset' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)

keras 回调通常只适用于生成器,还是与我编写回调的方式有关?有没有办法修改我的回调或数据集以使其工作?

我认为这个难题由三部分组成。我对其中任何一个和所有的改变持开放态度。首先是自定义回调类中的init函数:

class TensorBoardImage(tf.keras.callbacks.Callback):
    def __init__(self, logdir, train, validation=None):
        super(TensorBoardImage, self).__init__()
        self.logdir = logdir
        self.file_writer = tf.summary.create_file_writer(logdir)
        self.train = train
        self.validation = validation
Run Code Online (Sandbox Code Playgroud)

其次,on_batch_end同一个类中的函数

def on_batch_end(self, batch, logs):
    images_or_labels = 0 #0=images, 1=labels
    imgs = self.train[batch][images_or_labels]
Run Code Online (Sandbox Code Playgroud)

三、实例化回调

import tensorflow_image_callback
tensorboard_image_callback = tensorflow_image_callback.TensorBoardImage(logdir=tensorboard_log_dir, train=train_dataset, validation=valid_dataset)
model.fit(train_dataset,
          epochs=n_epochs,
          validation_data=valid_dataset, 
          callbacks=[
                    tensorboard_callback,
                    tensorboard_image_callback
                    ])
Run Code Online (Sandbox Code Playgroud)

一些尚未让我找到答案的相关主题:

在自定义回调中访问验证数据

创建 …

python callback keras tensorflow tf.data.dataset

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

在matlab中具有多个匹配的switch-case用于代码生成

以下代码是有效的matlab sytax,用于检查是否b匹配中的任何元素a.但是,如果代码用于代码生成(即simulink),那么我得到错误:

'code generation only supports cell operations for varargin and varargout  
Run Code Online (Sandbox Code Playgroud)

您可以通过%#codegen在脚本顶部添加来检查这一点.)

a={2 3};
b=3;
switch b
    case a
        disp yay
    otherwise
        disp boo
end
Run Code Online (Sandbox Code Playgroud)

case在代码生成兼容代码中,我应该如何匹配语句中的多个模式?

以下内容对我不起作用:

case a(1) || a(2) %//with a=[2, 3] above, since cells not allowed

case a(:)
Run Code Online (Sandbox Code Playgroud)

matlab code-generation simulink switch-statement matlab-coder

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

git状态为“功能未实现”和“致命:无法将.git / info / exclude用作排除文件”

我正在使用gitbash和git版本2.20.1.windows.1。commitdiffbranch所有的工作很好,但git status(最基本的命令,肯定?)失败。该错误消息是这样的,在那里fileA,并fileB在我的回购跟踪文件:

$ git status
.gitignore: Function not implemented
fileA: Function not implemented
fileB: Function not implemented
fatal: cannot use .git/info/exclude as an exclude file
Run Code Online (Sandbox Code Playgroud)

我找不到关于.git/info/exclude或的任何奇怪的事情.gitignore

GitHub Desktop向我显示了正确的status,所以这是我现在的解决方法。

git

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