Bagikan melalui


TensorflowCatalog Kelas

Definisi

TensorFlowTransformer digunakan dalam dua skenario berikut.

  1. Penilaian dengan model TensorFlow yang telah dilatih sebelumnya: Dalam mode ini, transformasi mengekstrak nilai lapisan tersembunyi dari model Tensorflow yang telah dilatih sebelumnya dan menggunakan output sebagai fitur dalam alur ML.Net.
  2. Pelatihan ulang model TensorFlow : Dalam mode ini, transformasi melatih kembali model TensorFlow menggunakan data pengguna yang diteruskan melalui alur ML.Net. Setelah model dilatih, outputnya dapat digunakan sebagai fitur untuk penilaian.
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
Warisan
TensorflowCatalog

Keterangan

TensorFlowTransform mengekstrak output yang ditentukan menggunakan model Tensorflow yang telah dilatih sebelumnya. Secara opsional, ini dapat melatih kembali model TensorFlow lebih lanjut pada data pengguna untuk menyesuaikan parameter model pada data pengguna ( juga dikenal sebagai "Transfer Learning").

Untuk penilaian, transformasi mengambil sebagai input model Tensorflow yang telah dilatih sebelumnya, nama simpul input, dan nama simpul output yang nilainya ingin kami ekstrak. Untuk pelatihan ulang, transformasi juga memerlukan parameter terkait pelatihan seperti nama operasi pengoptimalan dalam grafik TensorFlow, nama operasi tingkat pembelajaran dalam grafik dan nilainya, nama operasi dalam grafik untuk menghitung kehilangan dan metrik performa, dll.

Transformasi ini mengharuskan nuget Microsoft.ML.TensorFlow diinstal. TensorFlowTransform memiliki asumsi berikut mengenai input, output, pemrosesan data, dan pelatihan ulang.

  1. Untuk model input, saat ini TensorFlowTransform mendukung format model Frozen dan juga format SavedModel . Namun, pelatihan ulang model hanya dimungkinkan untuk format SavedModel . Format titik pemeriksaan saat ini tidak didukung untuk penilaian atau untuk pelatihan ulang karena kurangnya dukungan TensorFlow C-API untuk memuatnya.
  2. Transformasi hanya mendukung penilaian satu contoh pada satu waktu. Namun, pelatihan ulang dapat dilakukan dalam batch.
  3. Skenario pembelajaran/penyetelan halus transfer tingkat lanjut (misalnya menambahkan lebih banyak lapisan ke dalam jaringan, mengubah bentuk input, membekukan lapisan yang tidak perlu diperbarui selama proses pelatihan ulang dll.) saat ini tidak dimungkinkan karena kurangnya dukungan untuk manipulasi jaringan/grafik di dalam model menggunakan TensorFlow C-API.
  4. Nama kolom input harus cocok dengan nama input dalam model TensorFlow.
  5. Nama setiap kolom output harus cocok dengan salah satu operasi dalam grafik TensorFlow.
  6. Saat ini, double, float, long, int, short, sbyte, ulong, uint, ushort, byte dan bool adalah jenis data yang dapat diterima untuk input/output.
  7. Setelah berhasil, transformasi akan memperkenalkan kolom baru yang IDataView sesuai dengan setiap kolom output yang ditentukan.

Input dan output model TensorFlow dapat diperoleh menggunakan GetModelSchema() alat atau summarize_graph .

Metode

LoadTensorFlowModel(ModelOperationsCatalog, String)

Muat model TensorFlow ke dalam memori. Ini adalah metode kenyamanan yang memungkinkan model dimuat sekali dan kemudian menggunakannya untuk mengkueri skema dan pembuatan TensorFlowEstimator menggunakan ScoreTensorFlowModel(String, String, Boolean). penggunaan API ini memerlukan dependensi NuGet tambahan pada tensorFlow redist, lihat dokumen tertaut untuk informasi selengkapnya. TensorFlowModel juga menyimpan referensi ke sumber daya tidak terkelola yang perlu dibebaskan baik dengan panggilan eksplisit ke Dispose() atau secara implisit dengan mendeklarasikan variabel dengan sintaks "menggunakan" />

LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean)

Muat model TensorFlow ke dalam memori. Ini adalah metode kenyamanan yang memungkinkan model dimuat sekali dan kemudian menggunakannya untuk mengkueri skema dan pembuatan TensorFlowEstimator menggunakan ScoreTensorFlowModel(String, String, Boolean). penggunaan API ini memerlukan dependensi NuGet tambahan pada tensorFlow redist, lihat dokumen tertaut untuk informasi selengkapnya. TensorFlowModel juga menyimpan referensi ke sumber daya tidak terkelola yang perlu dibebaskan baik dengan panggilan eksplisit ke Dispose() atau secara implisit dengan mendeklarasikan variabel dengan sintaks "menggunakan" />

Berlaku untuk

Lihat juga