TensorFlow的Session工作原理

时间:2020-12-21 00:44:14

Session是Graph和执行者之间的媒介,Session.run()实际上将graphfetchesfeed_dict序列化到字节数组中,并调用tf_session.TF_Run(参见/usr/local/lib/python2.7/site-packages/tensorflow/python/client/session.py

而这里的tf_session.TF_Run实际上调用了动态链接库_pywrap_tensorflow.so中实现的_pywrap_tensorflow.TF_Run接口(参见/usr/local/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py),这个动态链接库是tensorflow提供的诸多语言接口中python语言的接口。

事实上这里的_pywrap_tensorflow.sopywrap_tensorflow.py是通过SWIG工具自动生成,tensorflow核心语言是c语言,这里是通过SWIG生成了各种脚本语言的接口。