首页 > 解决方案 > 将预训练的深度学习模型导入 Foundry Codeworkbooks

问题描述

如何将 Foundry 本地的 h5 模型导入代码工作簿?我想使用如下所示的拥抱人脸库,并且在其文档中,from_pretrained 方法需要一个指向预训练模型所在位置的 URL 路径。

理想情况下,我希望将模型下载到我的本地机器上,将其上传到 Foundry,然后让 Foundry 读取所述模型。

作为参考,我正在尝试在代码工作簿或代码创作上执行此操作。看起来您可以直接使用那里的文件,但我已经阅读了文档,并且给定的示例是针对 CSV 文件的,而此模型包含各种文件,例如 h5 和 json 格式。想知道如何访问这些文件并将它们从转换器包传递到 from_pretrained 方法

相关链接: https ://huggingface.co/transformers/quicktour.html 预训练模型: https ://huggingface.co/distilbert-base-uncased-finetuned-sst-2-english/tree/main

谢谢!

标签: palantir-foundryfoundry-code-workbooks

解决方案


我已经将变形金刚(拥抱脸)包添加到平台上。

至于上传包,您可以按照以下步骤操作:

  1. 将数据集与模型相关文件用作代码工作簿转换的输入

  2. 使用 pythons 原始文件访问来访问数据集的内容: https ://docs.python.org/3/library/filesys.html

  3. 使用 pythons 内置 tempfile 构建文件夹并添加第 2 步中的文件,https : //docs.python.org/3/library/tempfile.html#tempfile.mkdtemp,https ://www.kite.com/ python/answers/how-to-write-a-file-to-a-specific-directory-in-python

  4. 将临时文件(tempfile.mkdtemp() 返回绝对路径)传入 from_pretrained 方法

import tempfile

def sample (dataset_with_model_folder_uploaded):
  full_folder_path = tempfile.mkdtemp()

  all_file_names = ['config.json', 'tf_model.h5', 'ETC.ot', ...]

  for file_name in all_file_names:
    with dataset_with_model_folder_uploaded.filesystem().open(file_name) as f:
      pathOfFile = os.path.join(fullFolderPath, file_name)
      newFile = open(pathOfFile, "w")
      newFile.write(f.read())
      newFile.close()
  
  model = TF.DistilSequenceClassification.from_pretrained(full_folder_path)
  tokenizer = TF.Tokenizer.from_pretrained(full_folder_path)

谢谢,


推荐阅读