我有一个长期运行的Torque/PBS工作,我想监控输出.但是只有在作业完成后才会复制日志文件.有没有办法说服PBS刷新它?
我正在使用一个大数据集,所以我试图使用train_on_batch(或适合epoch = 1)
model = Sequential()
model.add(LSTM(size,input_shape=input_shape,return_sequences=False))
model.add(Dense(output_dim))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=["accuracy"])
for e in range(nb_epoch):
for batch_X, batch_y in batches:
model.train_on_batch(batch_X,batch_y)
# or
# model.fit(batch_X,batch_y,batch_size=batch_size,nb_epoch=1,verbose=1,shuffle=True,)
Run Code Online (Sandbox Code Playgroud)
但是当训练开始时,会发生这种情况
(0, 128)
Epoch 1/1
128/128 [==============================] - 2s - loss: 0.3262 - acc: 0.1130
(129, 257)
Epoch 1/1
128/128 [==============================] - 2s - loss: -0.0000e+00 - acc: 0.0000e+00
Run Code Online (Sandbox Code Playgroud)
无论我等了多少个时代,它都没有改变.即使我改变批量大小,也会发生同样的事情:第一批具有良好的值,然后它再次进入"损失:-0.0000e + 00 - acc:0.0000e + 00".
有人可以帮助理解这里发生的事情吗?
提前致谢
我在Apache flink中有一个小用例,即批处理系统.我需要处理一组文件.每个文件的处理必须由一台机器处理.我有以下代码.始终只占用一个任务槽,并且一个接一个地处理文件.我有6个节点(所以6个任务管理器),并在每个节点配置4个任务槽.所以,我希望一次处理24个文件.
class MyMapPartitionFunction extends RichMapPartitionFunction[java.io.File, Int] {
override def mapPartition(
myfiles: java.lang.Iterable[java.io.File],
out:org.apache.flink.util.Collector[Int])
: Unit = {
var temp = myfiles.iterator()
while(temp.hasNext()){
val fp1 = getRuntimeContext.getDistributedCache.getFile("hadoopRun.sh")
val file = new File(temp.next().toURI)
Process(
"/bin/bash ./run.sh " + argumentsList(3)+ "/" + file.getName + " " + argumentsList(7) + "/" + file.getName + ".csv",
new File(fp1.getAbsoluteFile.getParent))
.lines
.foreach{println}
out.collect(1)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我启动了flink as ./bin/start-cluster.sh命令,Web用户界面显示它有6个任务管理器,24个任务槽.
这些文件夹包含大约49个文件.当我在这个集合上创建mapPartition时,我希望跨越49个并行进程.但是,在我的基础设施中,它们都是一个接一个地处理的.这意味着只有一台机器(一个任务管理器)处理所有49个文件名.我想要的是,每个插槽配置2个任务,我希望同时处理24个文件.
任何指针肯定会有所帮助.我在flink-conf.yaml文件中有这些参数
jobmanager.heap.mb: 2048
taskmanager.heap.mb: 1024
taskmanager.numberOfTaskSlots: 4
taskmanager.memory.preallocate: false
parallelism.default: 24
Run Code Online (Sandbox Code Playgroud)
提前致谢.谁能让我知道我哪里出错了?
我有一个程序,批量生成多个SVG文件,然后我需要能够组合(平铺)到一个文件,设置空格和设置宽度(厘米(或毫米)).
我需要一个现有的脚本或指向我可以使用哪些库和语言来完成此任务的指针.有什么建议从哪里开始?
我需要帮助编写批处理代码.
在我的批处理脚本的初始状态中,我需要检查是否notepad.exe正在运行,如果它正在运行,那么
taskkill /im notepad.exeelsif notepad.exe没有运行,那么转到下一个批处理语句/代码.
今天我遇到了超时问题.
我有以下配置用于创建SessionFactory:
<property name="adonet.batch_size">50</property>
<property name="command_timeout">600</property>
Run Code Online (Sandbox Code Playgroud)
我不将它存储在web.config中,而是存储在手动传递给配置的XML文件中:
configuration.Configure(cfgFile)
Run Code Online (Sandbox Code Playgroud)
因此,我可以拥有多个具有独立配置的会话工厂(每个数据库).
但是,command_timeout只有当NHibernate不使用批次时,这似乎才有效.如果SQL命令是批处理的,那么对于一些大批量我得到:
NHibernate.Exceptions.GenericADOException: could not execute batch command.
[SQL: SQL not available] --->
System.Data.SqlClient.SqlException: Timeout expired.
The timeout period elapsed prior to completion of the operation or the server is not responding.
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索解决方案时,我发现了一篇文章,解释了为什么会发生这种情况:http: //ronaldrosiernet.azurewebsites.net/Blog/2013/04/20/timeout_in_nhibernate_batched_sessions
问题的原因是,对于SQL批处理,NHibernate使用Cfg.Environment.CommandTimeout而不是command_timeout在创建会话时传递给配置.
我找到了一种在创建配置时实现变通方法的方法:
if (configuration.Properties.ContainsKey(NHibernate.Cfg.Environment.CommandTimeout))
NHibernate.Cfg.Environment.Properties[NHibernate.Cfg.Environment.CommandTimeout] =
configuration.Properties[NHibernate.Cfg.Environment.CommandTimeout];
Run Code Online (Sandbox Code Playgroud)
现在我的同事们说暂停现在似乎已经解决了.
但令我困惑的是以下主题:https://forum.hibernate.org/viewtopic.php?f = 25& t = 983105
其中说:
NHibernate.Cfg.Environment.Properties属性返回全局属性的副本,因此您无法对其进行修改.
如果NHibernate.Cfg.Environment.Properties是一个只读副本,那么为什么我的解决方法似乎工作正常?它是稳定的还是这个修复程序不可靠并且在其他一些情况下可能会中断?
此外,我在NHibernate JIRA中发现了一个相关问题:https: //nhibernate.jira.com/browse/NH-2153
如果他们说他们在v3.1.0中修复了command_timeout的问题,那么为什么我仍然需要在NHibernate v3.3.2中使用我的解决方法.?
有没有人对此有任何见解?
我试图找到正则表达式,如果有一些重复,保留唯一的,并将其余的放在垃圾表中.但我得到这个Erro,我不知道它是什么!这是我的代码:
public class RegexRemoverMain {
public static void main(String[] args) throws SQLException, ClassNotFoundException{
//Connection Parameters and Connect to Postgres Database
String data = "jdbc:postgresql://localhost:5432/postgres";
Class.forName("org.postgresql.Driver");
Connection conn = null;
//Connect to DB
conn = DriverManager.getConnection(
data, "username", "password");
//statements to get distinct owners
Statement ownerSt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
//statement to get Image Ids of a user
Statement ownersImagesIdsSt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String insertSQL;
//an arraylist to store unique titles+tags reported by user
ArrayList<List<String>> result = new ArrayList<List<String>>();
//list …Run Code Online (Sandbox Code Playgroud) 我正在使用 AWS Batch 并已开始使用数组作业。
AWS_BATCH_JOB_ARRAY_INDEX作为环境变量传递给容器。
数组大小是否以某种方式传递?必须知道该指数是与 5 个职位相关还是与 1000 个职位相关。目前,我将其作为我自己的环境变量传递,但认为该信息已经以某种方式传递到容器。
我在 Mac 上有一个 .JPG 文件列表。我想将它们导出为每个图像少于 500 KB 的格式。我知道如何使用预览应用程序一次一张图像来做到这一点;但我希望能够批量执行相同的操作,即一次处理多个文件。是否有命令行方式来执行此操作,以便我可以编写脚本并在终端中运行它?或者我可以使用的其他方式?
我的主文件夹上有一些脚本,我想从命令行运行,实际上是从任务计划程序运行,但我找不到这样做的方法。
我努力了
wsl -u Ubuntu -u jlanza "cd /home/jlanza/bin && ./myscript && ./myotherscript"
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
如何在同一会话下串联执行多个命令?
batch-processing ×10
apache-flink ×1
aws-batch ×1
batch-file ×1
command-line ×1
exception ×1
java ×1
jpeg ×1
keras ×1
lstm ×1
nhibernate ×1
pbs ×1
postgresql ×1
python ×1
scala ×1
scripting ×1
sql ×1
svg ×1
taskkill ×1
timeout ×1
torque ×1
windows ×1