- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 keras 中有以下神经网络(可能没有必要对其进行审查来回答我的问题:
简短摘要:它是一个以图像作为输入并输出图像的神经网络。神经网络主要是卷积网络。我使用发电机。另外,我有两个回调:一个用于 TensorBoard,一个用于检查点保存
class modelsClass(object):
def __init__(self, img_rows = 272, img_cols = 480):
self.img_rows = img_rows
self.img_cols = img_cols
def addPadding(self, layer, level): #height, width, level):
w1, h1 = self.img_cols, self.img_rows
w2, h2 = int(w1/2), int(h1/2)
w3, h3 = int(w2/2), int(h2/2)
w4, h4 = int(w3/2), int(h3/2)
h = [h1, h2, h3, h4]
w = [w1, w2, w3, w4]
# Target width and height
tw = w[level-1]
th = h[level-1]
# Source width and height
lsize = keras.int_shape(layer)
sh = lsize[1]
sw = lsize[2]
pw = (0, tw - sw)
ph = (0, th - sh)
layer = ZeroPadding2D(padding=(ph, pw), data_format="channels_last")(layer)
return layer
[我需要在此处用一些文本破坏代码才能发布问题]
def getmodel(self):
input_blurred = Input((self.img_rows, self.img_cols,3))
conv1 = Conv2D(64, (3, 3), activation='relu', padding='same')(input_blurred)
conv1 = Conv2D(64, (3, 3), activation='relu', padding='same')(conv1)
pool1 = MaxPooling2D(pool_size=(2, 2))(conv1)
conv2 = Conv2D(128, (3, 3), activation='relu', padding='same')(pool1)
conv2 = Conv2D(128, (3, 3), activation='relu', padding='same')(conv2)
pool2 = MaxPooling2D(pool_size=(2, 2))(conv2)
conv3 = Conv2D(256, (3, 3), activation='relu', padding='same')(pool2)
conv3 = Conv2D(256, (3, 3), activation='relu', padding='same')(conv3)
pool3 = MaxPooling2D(pool_size=(2, 2))(conv3)
conv4 = Conv2D(512, (3, 3), activation='relu', padding='same')(pool3)
conv4 = Conv2D(512, (3, 3), activation='relu', padding='same')(conv4)
pool4 = MaxPooling2D(pool_size=(2, 2))(conv4)
conv5 = Conv2D(1024, (3, 3), activation='relu', padding='same')(pool4)
conv5 = Conv2D(1024, (3, 3), activation='relu', padding='same')(conv5)
up6 = Conv2DTranspose(512, (2, 2), strides=(2, 2), padding='same')(conv5)
up6 = self.addPadding(up6,level=4)
up6 = concatenate([up6,conv4], axis=3)
conv6 = Conv2D(512, (3, 3), activation='relu', padding='same')(up6)
conv6 = Conv2D(512, (3, 3), activation='relu', padding='same')(conv6)
up7 = Conv2DTranspose(256, (2, 2), strides=(2, 2), padding='same')(conv6)
up7 = self.addPadding(up7,level=3)
up7 = concatenate([up7,conv3], axis=3)
conv7 = Conv2D(256, (3, 3), activation='relu', padding='same')(up7)
conv7 = Conv2D(256, (3, 3), activation='relu', padding='same')(conv7)
up8 = Conv2DTranspose(128, (2, 2), strides=(2, 2), padding='same')(conv7)
up8 = self.addPadding(up8,level=2)
up8 = concatenate([up8,conv2], axis=3)
conv8 = Conv2D(128, (3, 3), activation='relu', padding='same')(up8)
conv8 = Conv2D(128, (3, 3), activation='relu', padding='same')(conv8)
up9 = Conv2DTranspose(64, (2, 2), strides=(2, 2), padding='same')(conv8)
up9 = self.addPadding(up9,level=1)
up9 = concatenate([up9,conv1], axis=3)
conv9 = Conv2D(64, (3, 3), activation='relu', padding='same')(up9)
conv9 = Conv2D(64, (3, 3), activation='relu', padding='same')(conv9)
conv10 = Conv2D(3, (1, 1), activation='linear')(conv9)
model = Model(inputs=input_blurred, outputs=conv10)
return model
那么代码是:
models = modelsClass(720, 1280)
model = models.getmodel()
model.compile(optimizer='adam', loss='mean_absolute_error')
model_checkpoint = ModelCheckpoint('checkpoints/cp.ckpt', monitor='val_loss', verbose=0, save_best_only=False, save_weights_only=False, mode='auto', save_freq='epoch')
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir='some_dir', histogram_freq=1)
model_history = model.fit_generator(generator_train, epochs=3,
steps_per_epoch=900,
callbacks=[tensorboard_callback, model_checkpoint],
validation_data=generator_val, validation_steps=100)
其中 generator_train.__len__ = 900
,generator_val.__len__ = 100
,两者的批量大小 = 1。
第 1 轮的时间为 10 分钟,第 2 轮的时间为 3 小时。我想知道可能是什么问题
最佳答案
以下是一些可能降低程序速度的常见因素:
关于python - 为什么 epoch 2 比 epoch 1 花费的时间多 18 倍?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59917535/
这个问题已经有答案了: Find closest date in array with JavaScript (6 个回答) 已关闭 4 年前。 我有一个基本纪元时间值和一个纪元时间数组以及相应纪元时
这个单线用于保存keras深度学习神经网络模型。 model.save('my_model.h5') model.save()保存的是最后一个epoch的模型还是最好的epoch的模型?有时,最后一个
我在 keras 中有以下神经网络(可能没有必要对其进行审查来回答我的问题: 简短摘要:它是一个以图像作为输入并输出图像的神经网络。神经网络主要是卷积网络。我使用发电机。另外,我有两个回调:一个用于
我使用卷积神经网络 (CNN) 来训练数据集。这里我得到 epoch、val_loss、val_acc、总损失、训练时间等作为历史记录。如果我想计算准确率的平均值,那么如何访问 val_acc,以及如
我可能有一个“臃肿的图表”,请参阅( Why does tf.assign() slow the execution time? ),因为每个纪元都花费越来越多的时间,但我在代码中看不到它。你能帮助我
我正在尝试从网站 http://epochjs.github.io/epoch/real-time 运行一个基本示例我收到以下错误 jQuery.Deferred exception: $(...).
我正在尝试使用 SimpleDateFormat 进行简单的纪元到日期的转换。每当我运行该程序时,我都会在转换后收到无效日期。我已经在转换器中运行了纪元戳 [并且我还在外部服务器中存储了日期],所以我
我知道我不久前发布了这个,但我想出了解决方案。我为名为 Roblox 的游戏编写了此代码,但我只是在此处发布代码,以防其他遇到相同问题的人需要解决方案。无论如何,这是代码: outputTime =
为了在 JSON 中传递时间到/从 Web API,为什么我会选择使用 ISO8601 字符串而不是简单的 UTC 纪元值?例如,这两者是相同的: Epoch = 1511324473 iso8601
每次验证循环结束时,我都想保存一个检查点。我设置了val_check_interval成为 0.2所以我在每个时期有 5 个验证循环,但检查点回调仅在时期结束时保存模型。我找不到在每个验证循环后保存模
在 manual在 Tensorflow 中的 Dataset 类上,它展示了如何对数据进行混洗以及如何对其进行批处理。然而,如何对每个时期的数据进行洗牌并不明显。我已经尝试了下面的方法,但是数据在第
我正在尝试基于本文实现一个判别性损失函数,例如图像分割:https://arxiv.org/pdf/1708.02551.pdf (此链接仅供读者引用;我不希望有人阅读它来帮助我!) 我的问题:一旦我
我有一个基于 JSON 的源,我想使用 ADF 映射数据流进行转换。我有一个包含纪元时间戳值的字符串,我想将其转换为日期时间值,以便稍后将其放入 Parquet 文件中。 你知道方法吗?这种语言的文档
我有一个基于 JSON 的源,我想使用 ADF 映射数据流进行转换。我有一个包含纪元时间戳值的字符串,我想将其转换为日期时间值,以便稍后将其放入 Parquet 文件中。 你知道方法吗?这种语言的文档
我有一个以下格式的字符串:“2019-08-17T09:51:41.775+00:00”。我需要将其转换为纪元微秒,但我的转换总是相差一个小时。 这是我目前的代码: String timestamp
在 Python 中的 Tensorflow 2.0 中训练神经网络时,我注意到训练精度和损失在不同时期之间发生了巨大变化。我知道打印的指标是整个 epoch 的平均值,但在每个 epoch 之后准确
假设我有一个定义的神经网络的训练样本(带有相应的训练标签)(神经网络的架构对于回答这个问题无关紧要)。让我们称神经网络为“模型”。 为了不产生任何误解,假设我介绍了“模型”的初始权重和偏差。 实验 1
我正在尝试将以下列转换为纪元,为机器学习做准备,我的 csv 的其余部分包含字符串,所以我假设这是最好的方法,我尝试创建一个 numpy 数组并使用 datetime 对其进行转换,等等但这不起作用我
我正在编写一个 Node API 并得到一个模型,我必须为其生成一个15 位随机数。这必须是唯一的,并且不应看起来微不足道(我无法获得自动增量)。 我真的不想生成数字并查询 Mongo 数据库以进行存
features = [tf.contrib.layers.real_valued_column("x", dimension=1)] estimator = tf.contrib.learn.Lin
我是一名优秀的程序员,十分优秀!