$ currentAdress=2
$ currentAdress=$((0x$currentAdress + 8))
$ printf "%d\n" $currentAdress
10
$ printf "%x\n" $currentAdress
a
我似乎在将过滤器应用到数据上时遇到了一些问题。我需要使用过滤器在(8,1)的5个部分滑动并使用形状(8,1)的过滤器...
但是收到错误消息:
import keras
from keras.models import Sequential
from keras.optimizers import SGD
from keras.layers.core import Dense, Activation, Lambda, Reshape,Flatten
from keras.layers import Conv1D,Conv2D,MaxPooling2D, MaxPooling1D, Reshape
from keras.utils import np_utils
from keras.models import Model
from keras.layers import Input, Dense
from keras.layers import Dropout
from keras import backend as K
from keras.callbacks import ReduceLROnPlateau
from keras.callbacks import CSVLogger
from keras.callbacks import EarlyStopping
from keras.layers.merge import Concatenate
from keras.callbacks import ModelCheckpoint
import random
import numpy as np
window_height = 8
filter_size=window_height
pooling_size = 28
stride_step = 2
def fws():
input = Input(shape=(5,window_height,1))
print input.shape
shared_conv = Conv2D(filters = 1, kernel_size = ((1,window_height,1)))
output = shared_conv(input)
print output.shape
fws()
我试图通过添加另一个数字来修复它,但这似乎没有帮助,因为API说它只需要两个数字。
答案 0 :(得分:0)
错误消息位于您未提交问题的代码行中。它在fit
方法中(或预测,评估等)。
它说:
(batchSize, 5, window_height,1)
。 当您定义Input((5,window_height,1))
时,模型希望每个样本(每个图像)都具有此传递的形状,换句话说,还有一个包含样本的附加维度,即批量大小。在内部,输入形状为(None, 5, window_height, 1)
。
您必须对输入数据(numpy数组)进行整形,使其与您在输入图层中定义的数据相匹配。
reshapedData = X_train.reshape((samples, 5, window_height, 1))
model.fit
此外,您的kernel_size
应该只有2个维度(您使用的是Conv2D)。这3个维度中的一个是通道数。过滤器将自动适应此数字。