Env类是tensorflow访问系统函数的接口,主要包含了大部分系统操作函数的封装。
整体上Env类提供了统一的接口(大量虚函数),但不能直接实例化,需要调用在不同系统上的子类实例化。class Env 定义在tensorflow/core/platform/env.h中,部分函数定义在同目录下的env.cc中,另外一部分在tensorflow/core/platform中不同平台(posix、windows、hadoop等有不同)目录下的env.cc中。即tensorflow在编译时,会指定编译哪个平台的版本,然后将这个平台的目录包括在编译目录中。
//主要提供tensorflow访问系统函数的接口,例如使用操作系统自带文件系统
class Env {
public:
Env();
virtual ~Env() = default;
/// \brief Returns a default environment suitable for the current operating
/// system.
///
/// Sophisticated users may wish to provide their own Env
/// implementation instead of relying on this default environment.
///
/// The result of Default() belongs to
Env类在TensorFlow中扮演着访问系统功能的角色,它封装了各种系统操作。作为抽象基类,Env无法直接实例化,而是通过特定平台的子类(如PosixEnv和WindowsEnv)进行实例化。EnvWrapper提供了额外的封装功能,允许自定义环境配置。在默认情况下,Env::Default()函数会返回对应平台的Env实例,实现单例模式。
订阅专栏 解锁全文
640

被折叠的 条评论
为什么被折叠?



