def __init__(self,samples=1000):
#??Model
input_1=Input(shape=(20,200))
x=Convolution1D(400,3,border_mode='same',input_shape=(20,200))(input_1)
#x=Dropout(0.5)(x)
x=AveragePooling1D(20)(x)
x=Dropout(0.25)(x)
x=Flatten()(x)
output_1=Dense(128,activation="tanh")(x)
self.model_1=Model(input=input_1,output=output_1)
self.model_1.compile(optimizer="sgd",loss="mse",metrics=['accuracy'])
#????Model
input_2=Input(shape=(1000,))
x=Dense(400,activation="tanh")(input_2)
x=Dropout(0.25)(x)
output_2=Dense(128,activation="tanh")(x)
#output_2=Lambda(lambda x:x*(-1))(output_2)
self.model_2=Model(input=input_2,output=output_2)
self.model_2.compile(optimizer="sgd",loss="mse",metrics=['accuracy'])
#??????????????
input_2_a=Input(shape=(1000,))
input_2_b=Input(shape=(1000,))
input_2_c=Input(shape=(1000,))
input_2_d=Input(shape=(1000,))
input_2_e=Input(shape=(1000,))
input_2_f=Input(shape=(1000,))
output_2_a=self.model_2(input_2_a)
output_2_b=self.model_2(input_2_b)
output_2_c=self.model_2(input_2_c)
output_2_d=self.model_2(input_2_d)
output_2_e=self.model_2(input_2_e)
output_2_f=self.model_2(input_2_f)
#??,??
output=merge(inputs=[output_1,output_2_a,output_2_b,output_2_c,output_2_d,output_2_e,output_2_f],mode=cosine_error,output_shape=(None,1))
#????
self.model=Model([input_1,input_2_a,input_2_b,input_2_c,input_2_d,input_2_e,input_2_f],output=output)
self.model.compile(optimizer="sgd",loss='mse',metrics=['accuracy'])
#????
#rand=np.random
self.X_train_1=load_data(samples=samples) #question
self.X_train_2_a=load_predicate_data(samples=samples) #???
#self.X_train_2_b=np.array([self.X_train_2_a[rand.randint(999)] for i in range(1000)]) #???
#self.X_train_2_c=np.array([self.X_train_2_a[rand.randint(999)] for i in range(1000)]) #???
评论列表
文章目录