Tensorflow 框架的一些细节

  • session.run() 函数 https://blog.csdn.net/u014636245/article/details/101698300
    run(self, fetches, feed_dict=None, options=None, run_metadata=None)

其中常用的fetches和feed_dict就是常用的传入参数。fetches主要指从计算图中取回计算结果进行放回的那些placeholder和变量,而feed_dict则是将对应的数据传入计算图中占位符,它是字典数据结构只在调用方法内有效。

DIEN 的代码在 model.train() 和 model.calculate() 中都用到了 session.run() 函数,

  • model.train([self.loss, self.accuracy, self.optimizer], feed_dict={...})
  • model.calculate([self.y_hat, self.loss, self.accuracy], feed_dict={...})

在这里,train() 要进行模型的优化,所以需要输出 self.optimizer, 保证 self.optimizer 这一变量进行了更新
calculate() 实际上是对应测试,需要输出 self.y_hat, 但并不需要进行模型的优化,迭代一个梯度步

  • tf.expand_dims() https://www.cnblogs.com/helloworld0604/p/9001703.html

  • tf.concat() https://blog.csdn.net/leviopku/article/details/82380118

  • tf.nn.embedding_lookup(embedding, id) 这个函数

你可能感兴趣的:(Tensorflow 框架的一些细节)