CDSSM.py 文件源码

python
阅读 16 收藏 0 点赞 0 评论 0

项目:Keras_note 作者: LibCorner 项目源码 文件源码
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)]) #???
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号