第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

tensorflow源碼解析之common_runtime-session

1. 核心概念

session可以认为是一个执行代理。我们在客户端构建计算图,提供输入,然后把计算图丢给session去执行。因此,session应该具备一定的执行功能。另外TF还提供了session的工厂类,session_factory,用于产生session。

2. session

session没有提供头文件声明,直接在session.cc文件中提供了实现,我们略去空实现,如下:

Status Session::Run(const RunOptions& run_options, const std::vector<std::pair<string, Tensor>>& inputs, const std::vector<string>& output_tensor_names, const std::vector<string>& target_node_names, std::vector<Tensor>* outputs, RunMetadata* run_metadata);
Status Session::PRunSetup(const std::vector<string>& input_names, const std::vector<string>& output_names, const std::vector<string>& target_nodes, string* handle);
Status Session::PRun(const string& handle, const std::vector<std::pair<string, Tensor>>& inputs, const std::vector<string>& output_names, std::vector<Tensor>* outputs);Session* NewSession(const SessionOptions& options);Status NewSession(const SessionOptions& options, Session** out_session);Status Reset(const SessionOptions& options, const std::vector<string>& containers);

可以看到,Session除了提供Run接口之外,还提供了部分执行的接口(PRunSetup和PRun)。部分运行是指,我们并不是运行整张图,而是给定了图中的某几个节点作为输入,某几个节点作为输出,运行部分的图。另外,Session还可以根据提供的SessionOptions产生新的会话。

3. session_factory

SessionFactory提供了工厂类的功能,其API如下:

class SessionFactory {  public:    virtual Session* NewSession(const SessionOptions& options) = 0;    virtual bool AcceptsOptions(const SessionOptions& options) = 0;    virtual Status Reset(const SessionOptions& options, const std::vector<string>& containers);    static void Register(const string& runtime_type, SessionFactory* factory);    static Status GetFactory(const SessionOptions& options, SessionFactory** out_factory);
}
  • 对于其中的Reset函数,它的作用是终止和关闭所有现有的session,断开所有的资源与它们的连接。Reset函数能够使那些运行过慢或者运行出错的会话终止和关闭,并且释放与之相关的资源。Reset不会等待旧会话里的计算结束,它会启动一个将计算终止的进程。然而,如果在Reset之后启动了一个新的会话,那么这个新的会话将会与针对旧会话的操作隔离开。

  • 如果旧会话的某些资源没有被列入containers,那么旧会话仍然可能在某些地方影响后续会话的计算,而且这种影响很难预测,因此,为了安全尽量在Reset的containers参数中包含尽量全的容器。

  • 如果containers向量是空的,那么默认的container将会被使用,如果containers是非空的,那么默认容器需要被显式的放入。

  • 支持资源容器的会话,需要重写这个函数。

原文出处:https://www.cnblogs.com/jicanghai/p/9569294.html

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消