我想在远程机器上按顺序执行几个命令,后面的一些命令依赖于之前的命令.在最简单的例子中,我得到了这个:
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调用已经在一个脚本文件中,所以将所有内容放在一起会很不错.
我编写了一个自定义 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)
一些尚未让我找到答案的相关主题:
以下代码是有效的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
我正在使用gitbash和git版本2.20.1.windows.1。commit,diff,branch所有的工作很好,但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,所以这是我现在的解决方法。