Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用tensoflow最小化由两个模型变量组成的损失_Python_Tensorflow_Deep Learning_Loss - Fatal编程技术网

Python 如何使用tensoflow最小化由两个模型变量组成的损失

Python 如何使用tensoflow最小化由两个模型变量组成的损失,python,tensorflow,deep-learning,loss,Python,Tensorflow,Deep Learning,Loss,类模型\u DML(对象): train.py的关键代码: for i in range(MODEL_NUM): model = model_DML(layer=LAYER, n_users=user_num, n_items=item_num, emb_dim=EMB_DIM, lr=LR, lamda=LAMDA,optimization=OPTIMIZATION,

类模型\u DML(对象):

train.py的关键代码:

        for i in range(MODEL_NUM):
           model = model_DML(layer=LAYER, n_users=user_num, n_items=item_num, emb_dim=EMB_DIM, lr=LR, 
                          lamda=LAMDA,optimization=OPTIMIZATION, 
                          pre_train_latent_factor=pre_train_feature, 
                          if_pretrain=IF_PRETRAIN,margin=Margin)
           models.append(model)
        train_batch_data = np.array(train_batch_data)
        kl_one = kl_div(models[0].cos_value,models[1].cos_value)
        kl_two = kl_div(models[1].cos_value,models[0].cos_value)
        loss_one = models[0].loss + kl_one
        loss_two = models[1].loss + kl_two
        opt_one = tf.train.AdamOptimizer(learning_rate=LR)
        opt_two = tf.train.AdamOptimizer(learning_rate=LR)
        updates_one = opt_one.minimize(loss_one)
        updates_two = opt_two.minimize(loss_two)
        sess.run(tf.global_variables_initializer())
        sess.run(tf.local_variables_initializer())
我想构造一个损失,就像某种知识提炼。 如何使损失1和损失2最小化? kl_1和kl_2由两个模型的变量组成

        for i in range(MODEL_NUM):
           model = model_DML(layer=LAYER, n_users=user_num, n_items=item_num, emb_dim=EMB_DIM, lr=LR, 
                          lamda=LAMDA,optimization=OPTIMIZATION, 
                          pre_train_latent_factor=pre_train_feature, 
                          if_pretrain=IF_PRETRAIN,margin=Margin)
           models.append(model)
        train_batch_data = np.array(train_batch_data)
        kl_one = kl_div(models[0].cos_value,models[1].cos_value)
        kl_two = kl_div(models[1].cos_value,models[0].cos_value)
        loss_one = models[0].loss + kl_one
        loss_two = models[1].loss + kl_two
        opt_one = tf.train.AdamOptimizer(learning_rate=LR)
        opt_two = tf.train.AdamOptimizer(learning_rate=LR)
        updates_one = opt_one.minimize(loss_one)
        updates_two = opt_two.minimize(loss_two)
        sess.run(tf.global_variables_initializer())
        sess.run(tf.local_variables_initializer())