TensorFlow圖形編輯器(contrib)

2019-01-31 18:09 更新

TensorFlow 圖形編輯器庫(kù)允許就地修改現(xiàn)有的tf.Graph實(shí)例。

TensorFlow 圖像編輯器庫(kù)概覽

附加新節(jié)點(diǎn)是 TensorFlow 核心庫(kù)允許的唯一圖形編輯操作。圖形編輯器庫(kù)試圖允許其他類型的編輯操作,即重新路由和轉(zhuǎn)換。

  • 重路由(reroute)是一種本地操作,包括重新插入現(xiàn)有張量(圖形的邊緣)。操作(節(jié)點(diǎn))不會(huì)被此操作修改。例如,可以使用重路由來插入添加噪聲的操作來代替現(xiàn)有的張量。
  • 轉(zhuǎn)換(transform)是將圖形轉(zhuǎn)換為另一個(gè)圖形的全局操作。默認(rèn)情況下,轉(zhuǎn)換是一個(gè)簡(jiǎn)單的副本,但它可以被定制以實(shí)現(xiàn)其他目標(biāo)。例如,可以將圖形轉(zhuǎn)換成另一個(gè),其中在特定類型的所有操作之后添加噪聲。

重要:必須完成使用圖形編輯器就地修改圖形offline,即沒有任何活動(dòng)會(huì)話。

當(dāng)然,新的操作可以在線附加,但是圖形編輯器的特定操作(如重新路由和轉(zhuǎn)換)目前只能脫機(jī)完成。

以下是您無法執(zhí)行的操作的示例:

  • 構(gòu)建圖表
  • 創(chuàng)建會(huì)話并運(yùn)行圖表
  • 使用圖形編輯器修改圖形
  • 使用same以前創(chuàng)建的會(huì)話重新運(yùn)行圖

要編輯已經(jīng)運(yùn)行的圖形,請(qǐng)按照下列步驟操作:

  • 構(gòu)建圖表
  • 創(chuàng)建會(huì)話并運(yùn)行圖表
  • 保存圖狀態(tài)并終止會(huì)話
  • 使用圖形編輯器修改圖形
  • 創(chuàng)建一個(gè)新的會(huì)話并恢復(fù)圖形狀
  • 用新創(chuàng)建的會(huì)話重新運(yùn)行圖

請(qǐng)注意,此過程會(huì)花費(fèi)很多,因?yàn)楸仨氃谶M(jìn)行任何修改后創(chuàng)建新會(huì)話。除此之外,需要時(shí)間,因?yàn)檎麄€(gè)圖形狀態(tài)必須被保存并重新恢復(fù)。

子圖

圖形編輯器庫(kù)中的大部分功能都在子圖上運(yùn)行。更準(zhǔn)確地說,它們作為 SubGraphView 類的輸入?yún)?shù)實(shí)例(或任何可以轉(zhuǎn)換為它的東西),這樣做允許相同的功能在單個(gè)操作以及任何大小的子圖形上透明地操作。

可以通過幾種方式創(chuàng)建子圖:

  • 使用操作列表:
my_sgv = ge.sgv ( ops )
  • 從名稱范圍:
my_sgv = ge.sgv_scope (“foo/bar” ,graph = tf.get_default_graph ())
  • 使用正則表達(dá)式:
my_sgv = ge .SGV (“foo/.*/.*read$” ,graph =tf.get_default_graph ())

請(qǐng)注意,圖形編輯器旨在同時(shí)操作多個(gè)圖形,通常在轉(zhuǎn)換或復(fù)制操作期間。為此,為避免任何混淆,絕對(duì)不會(huì)使用默認(rèn)圖形,必須明確地給出要運(yùn)行的圖形。這就是graph=tf.get_default_graph() 在上面代碼片段中使用的原因。

TensorFlow 模塊概述

  • util:實(shí)用功能
  • select:TensorFlow 張量和操作的各種選擇方法
  • match:TensorFlow 圖匹配。將其視為圖形的正則表達(dá)式(但尚未完成)
  • reroute:將張量重新路由到不同的消費(fèi)操作的各種方法,如 swap 或 reroute_a2b
  • subgraph:SubGraphView 類,它可以在 TensorFlow 中進(jìn)行子圖操作 tf.Graph
  • edit:在子圖上運(yùn)行的各種編輯功能,如分離,連接或旁路。
  • transform:Transformer 類,它能夠?qū)⒆訄D轉(zhuǎn)換(或簡(jiǎn)單地復(fù)制)到另一個(gè)子圖中

模塊:util

  • tf.contrib.graph_editor.make_list_of_op
  • tf.contrib.graph_editor.get_tensors
  • tf.contrib.graph_editor.make_list_of_t
  • tf.contrib.graph_editor.get_generating_ops
  • tf.contrib.graph_editor.get_consuming_ops
  • tf.contrib.graph_editor.ControlOutputs
  • tf.contrib.graph_editor.placeholder_name
  • tf.contrib.graph_editor.make_placeholder_from_tensor
  • tf.contrib.graph_editor.make_placeholder_from_dtype_and_shape

模塊:選擇

  • tf.contrib.graph_editor.filter_ts
  • tf.contrib.graph_editor.filter_ts_from_regex
  • tf.contrib.graph_editor.filter_ops
  • tf.contrib.graph_editor.filter_ops_from_regex
  • tf.contrib.graph_editor.get_name_scope_ops
  • tf.contrib.graph_editor.check_cios
  • tf.contrib.graph_editor.get_ops_ios
  • tf.contrib.graph_editor.compute_boundary_ts
  • tf.contrib.graph_editor.get_within_boundary_ops
  • tf.contrib.graph_editor.get_forward_walk_ops
  • tf.contrib.graph_editor.get_backward_walk_ops
  • tf.contrib.graph_editor.get_walks_intersection_ops
  • tf.contrib.graph_editor.get_walks_union_ops
  • tf.contrib.graph_editor.select_ops
  • tf.contrib.graph_editor.select_ts
  • tf.contrib.graph_editor.select_ops_and_ts

模塊:子圖

  • tf.contrib.graph_editor.SubGraphView
  • tf.contrib.graph_editor.make_view
  • tf.contrib.graph_editor.make_view_from_scope

模塊:重新路由

  • tf.contrib.graph_editor.reroute.swap_ts
  • tf.contrib.graph_editor.reroute.reroute_ts
  • tf.contrib.graph_editor.reroute.swap_inputs
  • tf.contrib.graph_editor.reroute.reroute_inputs
  • tf.contrib.graph_editor.reroute.swap_outputs
  • tf.contrib.graph_editor.reroute.reroute_outputs
  • tf.contrib.graph_editor.reroute.swap_ios
  • tf.contrib.graph_editor.reroute.reroute_ios
  • tf.contrib.graph_editor.reroute.remove_control_inputs
  • tf.contrib.graph_editor.reroute.add_control_inputs

模塊:編輯

  • tf.contrib.graph_editor.detach_control_inputs
  • tf.contrib.graph_editor.detach_control_outputs
  • tf.contrib.graph_editor.detach_inputs
  • tf.contrib.graph_editor.detach_outputs
  • tf.contrib.graph_editor.detach
  • tf.contrib.graph_editor.connect
  • tf.contrib.graph_editor.bypass

模塊:轉(zhuǎn)換

  • tf.contrib.graph_editor.replace_t_with_placeholder_handler
  • tf.contrib.graph_editor.keep_t_if_possible_handler
  • tf.contrib.graph_editor.assign_renamed_collections_handler
  • tf.contrib.graph_editor.transform_op_if_inside_handler
  • tf.contrib.graph_editor.copy_op_handler
  • tf.contrib.graph_editor.Transformer
  • tf.contrib.graph_editor.copy
  • tf.contrib.graph_editor.copy_with_input_replacements
  • tf.contrib.graph_editor.graph_replace

有用的別名

  • tf.contrib.graph_editor.ph
  • tf.contrib.graph_editor.sgv
  • tf.contrib.graph_editor.sgv_scope
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)