palantir-foundry - 将预训练的深度学习模型导入 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
谢谢!
解决方案
我已经将变形金刚(拥抱脸)包添加到平台上。
至于上传包,您可以按照以下步骤操作:
将数据集与模型相关文件用作代码工作簿转换的输入
使用 pythons 原始文件访问来访问数据集的内容: https ://docs.python.org/3/library/filesys.html
使用 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
将临时文件(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)
谢谢,
推荐阅读
- kubernetes - 如何从 Kubernetes 中的另一个命名空间访问服务
- node.js - 在 create-react-app 中使用 Socket.io-client 的 WebSockets 代理
- python - Python,如何以最优雅的方式将任意变量从函数传递到函数?
- javascript - 数组与 Postgres 中的数组重叠
- r - 如何在 Linux(Red Hat/CentOS)上更新到特定的 R 版本,保持以前的版本?
- docker - Spring Cloud Stream Kafka 无法连接
- python - 字典问题:AttributeError:'str'对象没有属性'items'
- if-statement - System Verilog Variable Module Name
- python - 如何在房间内的命名空间内向特定客户端发出?
- flutter - 无法在颤动中使用 GlobalKey 的 currentState 属性