在GCP培训中使用Vertex AI产品非常容易,我上传了一个数据集,它返回了一个保存在GCP桶中的模型,我下载了文件,树上有这些文件
├── environment.json
├── feature_attributions.yaml
├── final_model_structure.pb
├── instance.yaml
├── predict
│ └── 001
│ ├── assets
│ │ └── PVC_vocab
│ ├── assets.extra
│ │ └── tf_serving_warmup_requests
│ ├── saved_model.pb
│ └── variables
│ ├── variables.data-00000-of-00001
│ └── variables.index
├── prediction_schema.yaml
├── tables_server_metadata.pb
└── transformations.pb
我想从一个码头化的python应用程序本地提供这个模型,但我不知道足够的TF来做这件事,我很困惑哪个.pb
文件才是真正拥有我需要的神经网络的文件。
谢谢你的提示。
您似乎成功地使用谷歌云的Vertex AI服务训练了一个机器学习模型,并从GCP存储桶中下载了模型人工制品。支持模型所需的文件是已保存的模型人工制品的一部分。
您必须将存储的模型加载到内存中,并使用服务库(如Tensor Flow serving(来生成预测,以便从停靠的Python应用程序本地服务您的模型。
使用Tensor Flow的SavedModel API,将存储的模型加载到内存中,如下所示:
model = tf.saved_model.load
signature = list(model.signatures.keys())[0]
input_tensor_name = model.signatures[signature].inputs.keys()[0]
predict_fn = model.signatures[signature]
input_data = {'your_input_key': your_input_value}
output = predict_fn(**input_data)
将前面代码中的/path/to/your/saved/model替换为包含已保存模型工件的目录的路径。
保存在predict/001/目录中的model.pb文件包含真实的神经网络。
一旦您将保存的模型加载到内存中,就可以使用TensorFlow serving或TensorFlow Model Server等服务库通过网络为您的模型提供服务。
我希望这是有用的。