オブジェクトの公開

Weaveのシリアル化レイヤーはオブジェクトを保存しバージョン管理します。
import weave
# Initialize tracking to the project 'intro-example'
weave.init('intro-example')
# Save a list, giving it the name 'cat-names'
weave.publish(['felix', 'jimbo', 'billie'], 'cat-names')
名前を付けてオブジェクトを保存すると、そのオブジェクトが存在しない場合は最初のバージョンが作成されます。

オブジェクトの取得

weave.publish はRefを返します。任意のRefに対して .get() を呼び出すことでオブジェクトを取得できます。refを構築してからオブジェクトを取得することができます。
weave.init('intro-example')
cat_names = weave.ref('cat-names').get()

オブジェクトの削除

オブジェクトのバージョンを削除するには、オブジェクトrefに対して .delete() を呼び出します。
weave.init('intro-example')
cat_names_ref = weave.ref('cat-names:v1')
cat_names_ref.delete()
削除されたオブジェクトにアクセスしようとするとエラーが発生します。削除されたオブジェクトへの参照を持つオブジェクトを解決すると、削除されたオブジェクトの代わりに DeletedRef オブジェクトが返されます。

Refのスタイル

完全修飾されたweaveオブジェクトref uriは次のようになります:
weave:///<entity>/<project>/object/<object_name>:<object_version>
  • entity:wandbエンティティ(ユーザー名またはチーム)
  • project:wandbプロジェクト
  • object_name:オブジェクト名
  • object_version:バージョンハッシュ、v0、v1…などの文字列、または”:latest”などのエイリアスのいずれか。すべてのオブジェクトには”:latest”エイリアスがあります。
Refはいくつかの異なるスタイルで構築できます
  • weave.ref(<name>)weave.init(<project>) が呼び出されている必要があります。“:latest”バージョンを参照します
  • weave.ref(<name>:<version>)weave.init(<project>) が呼び出されている必要があります。
  • weave.ref(<fully_qualified_ref_uri>):weave.initを呼び出さなくても構築できます