モデルをロードしていますが、各ノードをグラフの残りの部分と分離してテストしたいので、クローン(CloneMethod.clone)メソッドを使用していますが、私はこれがモデル全体を再現することを見出している。たとえば、BatchNormalizationレイヤーをクローンすると、このグラフが表示されます。だから私はどのようにBatchNormalizationをクローンしますが、親のマイナスノードから切断しますか?CNTKノードをクローンで分離してテストする
0
A
答えて
1
あなたはすべてのノードに名前を付けた後、自分の名前でそれらを見つけることができます。 以下のモデルでは:
def create_model():
with C.layers.default_options(initial_state=0.1):
return C.layers.Sequential([
C.layers.Embedding(emb_dim, name='embed'),
C.layers.Recurrence(C.layers.LSTM(hidden_dim), go_backwards=False),
C.layers.Dense(num_labels, name='classify')
])
あなたはcloneメソッドを使用して、特定のノードのクローンを作成しようとすることができ
z = create_model()
print(z.embed.E.shape)
print(z.classify.b.value)
を呼び出すことができます。多くのチュートリアルでは、CNTKグラフをノード名で調べる例があります。また、CNTK 206のチュートリアルでサブグラフを選択的に処理する方法もご覧いただけます。
いくつかのサンプルコード
import cntk as C
x = C.input_variable(5)
m = C.layers.Dense(4, name='foo')(x)
n = C.layers.Dense(3, name='baz')(m)
z = C.layers.Dense(2, name='bar')(n)
n_clone = z.baz.clone(method='share')
これは入力x
にn
から接続されたすべての層のクローンを作成します。新しい変数であるy
を宣言することで、bazという名前のレイヤーを得ることができます。 Y = C.input.variable(4) n_clone_baz = n_clone(Y)
より一般的なクローンの方法は、here利用可能です。
clone_method
は、サブグラフのクローンを作成します。
def clone_model(base_model, from_node_names, to_node_names, clone_method):
from_nodes = [find_by_name(base_model, node_name) for node_name in from_node_names]
if None in from_nodes:
print("Error: could not find all specified 'from_nodes' in clone.")
to_nodes = [find_by_name(base_model, node_name) for node_name in to_node_names]
if None in to_nodes:
print("Error: could not find all specified 'to_nodes' ...... ")
input_placeholders = dict(zip(from_nodes, [placeholder() for x in from_nodes]))
cloned_net = combine(to_nodes).clone(clone_method, input_placeholders)
return cloned_net
関連する問題
- 1. ノードJSルートとファンクションを分離する
- 2. C++のリンクリストに偶数ノードと奇数ノードを分離する
- 3. 単体テストと分離
- 4. CNTK分類モデルすべて1を分類する
- 5. ノードJS "apps"を1つのサーバで分離する
- 6. AngularJSノードをクローンしてイベントバインディングもクローンする方法はありますか?
- 7. テスト分離ツールを確認してください
- 8. Symfonyフォームとデータトランスフォーマーでテスト分離を達成するには?
- 9. ノードをクローンしてIDデータを追加できますか?
- 10. pytest-hypothesis run間のテスト分離
- 11. ContentProviderテスト - 生産とテストデータの分離
- 12. イニシャライザに依存するテストを分離する良い方法
- 13. ユニットテスト:サブクラスをその親から分離してテストする方法?
- 14. リスト内のノードの子を分離する方法
- 15. ノードをクローンしてxmlに追加する
- 16. テストは分離していますが、実行中に失敗する - RSpec
- 17. CNTK:深さのないノードのmodel.clone()
- 18. リポジトリをクローンしてローカル&テストを開発する
- 19. Monoをテストするための分離フレーム
- 20. 単体テストの模擬テストと分離された条件
- 21. CNTK:新しいクローンがクローンの複製された入力と一致しません。ブロック機能
- 22. CNTKでシーケンス分類LSTMネットワークを実装する方法は?
- 23. ユニットそれは依存しているWebサービスを分離して、C#.Net Webサービスをテストします
- 24. クローン部分は
- 25. Googleテストで複数のファイルにまたがるテストケースを分離する
- 26. ColaからCytoscape.jsを使用して色と形でノードを分離する方法
- 27. CNTKに関連するCNTKランタイムエラー
- 28. Silverlight単体テストでの依存関係の分離
- 29. プロセス内でCライブラリを分離して多重化する
- 30. SQLのXMLノード値を別々の行に分離