我想在检测期间将arrayList添加到方法中.我在尝试添加一行来创建Map时尝试了(Javassist CannotCompileException),但它抛出了一个与java.lang.VerifyError不同的异常.
public void createInsertBefore(String scenarioName, String className, CtMethod method,
String insertBefore) throws CannotCompileException {
method.addLocalVariable("startTime", CtClass.longType);
StringBuilder bBuilder = new StringBuilder();
bBuilder.append("startTime = System.nanoTime();");
bBuilder.append("System.out.println(startTime);");
if((insertBefore!=null) && !insertBefore.isEmpty()){
bBuilder.append(insertBefore);
}
bBuilder.append("java.util.List metadata = new java.util.ArrayList();");
System.out.println(bBuilder.toString());
method.insertBefore(bBuilder.toString());
}
Run Code Online (Sandbox Code Playgroud)
从print语句收到的输出是,
startTime = System.nanoTime();
System.out.println(startTime);
java.util.List metadata = new java.util.ArrayList();
Run Code Online (Sandbox Code Playgroud)
但它抛出以下异常,
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:382)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:397)
Caused by: java.lang.VerifyError
at sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
at sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144) …
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现基于LSTM的语音识别器.到目前为止,我可以通过遵循Merge层中的示例来设置双向LSTM(我认为它可以作为双向LSTM).现在我想用另一个双向LSTM层来尝试它,这使它成为一个深度双向LSTM.但我无法弄清楚如何将先前合并的两层的输出连接到第二组LSTM层.我不知道Keras是否有可能.希望有人可以帮助我.
我的单层双向LSTM的代码如下
left = Sequential()
left.add(LSTM(output_dim=hidden_units, init='uniform', inner_init='uniform',
forget_bias_init='one', return_sequences=True, activation='tanh',
inner_activation='sigmoid', input_shape=(99, 13)))
right = Sequential()
right.add(LSTM(output_dim=hidden_units, init='uniform', inner_init='uniform',
forget_bias_init='one', return_sequences=True, activation='tanh',
inner_activation='sigmoid', input_shape=(99, 13), go_backwards=True))
model = Sequential()
model.add(Merge([left, right], mode='sum'))
model.add(TimeDistributedDense(nb_classes))
model.add(Activation('softmax'))
sgd = SGD(lr=0.1, decay=1e-5, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy', optimizer=sgd)
print("Train...")
model.fit([X_train, X_train], Y_train, batch_size=1, nb_epoch=nb_epoches, validation_data=([X_test, X_test], Y_test), verbose=1, show_accuracy=True)
Run Code Online (Sandbox Code Playgroud)
我的x和y值的尺寸如下.
(100, 'train sequences')
(20, 'test sequences')
('X_train shape:', (100, 99, 13))
('X_test shape:', (20, 99, 13))
('y_train shape:', (100, 99, 11))
('y_test shape:', (20, 99, …
Run Code Online (Sandbox Code Playgroud) 我需要训练一个双向LSTM模型以识别离散语音(单个数字从0到9),我已经录制了100个扬声器的语音。接下来我该怎么办?(假设我将它们分成单个的.wav文件,每个文件包含一个数字)我将使用mfcc作为网络功能。
此外,如果我要使用支持CTC(连接主义者时间分类)的库,我想知道数据集的差异。
speech-recognition unsupervised-learning recurrent-neural-network
我正在尝试使用检测代码生成一个随机数。为此,我添加了以下表达式来生成一个随机数。但它正在抛出一个验证错误,如下所示。
method.addLocalVariable("instMethod_correlationId", CtClass.longType);
beforeBuilder.append("instMethod_correlationId = Long.valueOf(String.valueOf(System.nanoTime()) + String.valueOf(Math.round(Math.random())));");
Run Code Online (Sandbox Code Playgroud)
我添加了一个长变量并分配了上面生成的值。但是我在运行时遇到了以下异常。但是如果我在普通项目中运行相同的数字生成,它不会抛出任何异常。
java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
org/h2/jdbc/JdbcConnection.prepareStatement(Ljava/lang/String;)Ljava/sql/PreparedStatement; @38: i2l
Reason:
Type 'java/lang/Long' (current frame, stack[0]) is not assignable to integer
Current Frame:
bci: @38
flags: { }
locals: { 'org/h2/jdbc/JdbcConnection', 'java/lang/String', top, long, long_2nd }
stack: { 'java/lang/Long' }
Bytecode:
0000000: b803 6c42 bb03 6e59 b703 6fb8 036c b803
0000010: 73b6 0376 b803 7cb8 0380 b803 73b6 0376
0000020: b603 81b8 0386 8537 05b8 038b b803 8e16
0000030: …
Run Code Online (Sandbox Code Playgroud) 我正在阅读这段代码.我想知道-le
以下代码段的含义
.
if [ $stage -le 2 ]; then
Run Code Online (Sandbox Code Playgroud)
在其中一个问题中,它-le
代表<=
字符串,但这是在Perl中.这里也一样吗?
此外,我想知道该$stage
变量是否自动更新.它已经0
在开始时初始化,但后来,它是如何增加的?