我正在编写一些gradle插件,现在我遇到了一个问题,即DriverManager没有看到在buildscript依赖项中定义的JDBC驱动程序:
我有下一个build.gradle文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("com.h2database:h2:1.4.196")
}
}
plugins {
id "someplugin"
}
apply plugin: 'groovy'
Run Code Online (Sandbox Code Playgroud)
当我调用在任务中定义的扩展DefaultTask的命令时
DriverManager.getConnection("jdbc:h2:mem:", "sa", "")
Run Code Online (Sandbox Code Playgroud)
我收到例外
No suitable driver found for jdbc:h2:mem:
Run Code Online (Sandbox Code Playgroud)
当我对这些类进行单元测试时没有问题 - 只有当我调用调用DriverManager.getConnection的插件任务时才会发生这种情况.
我在这里错过了什么?谢谢!
当我steps_per_epoch在model.fit(..)方法中指定参数时,我注意到训练模型的速度会大大降低 。当我指定steps_per_epoch为None(或不使用它)时,纪元的ETA是连续2秒:
9120/60000 [===> ......................................]-ETA:2秒-损失:0.7055-acc:0.7535
当我添加steps_per_epoch参数时,ETA会增加5个小时,并且训练速度变得非常慢:
5/60000 [.....................]-预计到达时间:5:50:00-损失:1.9749-累积: 0.3437
这是可复制的脚本:
import tensorflow as tf
from tensorflow import keras
import time
print(tf.__version__)
def get_model():
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
return model
(train_images, train_labels), (test_images, test_labels) = keras.datasets.fashion_mnist.load_data()
train_images = train_images / 255.0
model = get_model()
# Very quick - 2 seconds
start = time.time()
model.fit(train_images, train_labels, epochs=1)
end = time.time()
print("{} seconds", end - start) …Run Code Online (Sandbox Code Playgroud)