You need to enable JavaScript to run this app.
文档中心
对象存储

对象存储

复制全文
下载 pdf
TOS PyTorch Connector
配置TOS PyTorch Connector
复制全文
下载 pdf
配置TOS PyTorch Connector
TOS PyTorch Connector 在与 TOS 进行交互时,需要有效的访问凭证来验证请求的合法性。本文将详细介绍如何为 TOS PyTorch Connector 配置鉴权信息与参数配置。​
前提条件​
已安装 TOS PyTorch Connector。具体操作,请参见安装 TOS PyTorch Connector。​
鉴权方式​
为了确保访问 TOS 服务的安全性,您必须提供有效的访问密钥 (AK/SK)。TOS PyTorch Connector 推荐采用直接传参的方式,将凭证在代码中显式传递。通过CredentialProvider(ak=ak, sk=sk)对象,在创建TosMapDataset、TosIterableDataset或TosCheckpoint实例时直接传入cred参数。该方式代码可移植性强,且凭证作用域清晰,不会污染全局环境。​
配置 TOS PyTorch Connector​
通过 CredentialProvider 将访问密钥直接传递给 TOS PyTorch Connector 是最灵活和推荐的方式。​
获取访问密钥 (AK/SK)​
访问密钥是您访问 TOS 服务的安全凭证,请妥善保管。​
  • 获取途径:登录火山引擎控制台,在访问控制 > API访问密钥页面创建和管理您的 Access Key。​
  • 权限管理:为了安全起见,强烈建议遵循最小权限原则。请为您的 AK/SK 分配精确的权限策略。如果您的应用仅需要读取训练数据,请为其授予 TOS 的只读权限 TosReadOnlyAccess,这可以有效防止因密钥泄露导致的数据篡改或删除风险。​
传入凭证​
获取 AK/SK 后,您可以在初始化 TOS PyTorch Connector 功能类时,通过 cred 参数将其传入。​
基础配置参数如下表所示:​
​
配置项​
是否必填​
类型​
示例值​
说明​
region​
是​
str​
cn-beijing​
火山 TOS 地域。​
endpoint​
否​
str​
http://tos-cn-beijing.ivolces.com​
火山 TOS 访问域名。​
cred​
否​
CredentialProvider​
CredentialProvider('ak', 'sk')​
访问密钥配置。​
ak​
是​
str​
AKLT***********​
Access Key ID,即密钥 ID。​
父节点:cred。​
sk​
是​
str​
WIRk***********​
SecretAccess Key,即私有访问密钥。​
父节点:cred。​
client_conf​
否​
TosClientConfig​
-​
Connector 参数配置。​
part_size​
否​
int​
8388608​
读写对象的分片大小。​
父节点:client_conf。​
max_retry_count​
否​
int​
3​
单次请求的最大重试次数。​
父节点:client_conf。​
shared_prefetch_tasks​
否​
int​
32​
顺序读对象场景的 Range 读并发数。​
父节点:client_conf。​
shared_upload_part_tasks​
否​
int​
32​
写对象场景的分片上传并发数。​
父节点:client_conf。​
enable_crc​
否​
bool​
True​
判断在上传场景和顺序读场景校验读写的数据一致性。​
​
代码示例​
TOS PyTorch Connector 提供了开箱即用的数据集和检查点,仅需做简单的配置即可实现数据集加载、checkpoint 存取等功能,region、endpoint、ak/sk 等参数需要替换为您所需参数。​
使用数据集​
​
from tostorchconnector import CredentialProvider​
from tostorchconnector import TosMapDataset​
​
#数据集转换函数​
def transform(item):​
data = item.read()​
return item.key, item.size​
​
# 数据集路径​
dataset_uri = 'tos://bucket/prefix'​
region = 'cn-beijing'​
# 火山 TOS Endpoint​
endpoint = 'http://tos-cn-beijing.ivolces.com'​
ak = '<your-access-key>'​
sk = '<your-secret-key>'​
​
with TosMapDataset.from_prefix(dataset_uri,​
region=region, endpoint=endpoint,​
transform=transform,​
cred=CredentialProvider(​
ak=ak,​
sk=sk)) as dataset:​
​
# 获取数据集大小​
dataset_len = len(dataset)​
# 随机获取某个数据​
item = dataset[0]​
bucket = item.bucket​
key = item.key​
# 读取全部数据​
content = item.read()​
print(len(content))​
​
使用检查点​
​
import torch​
from tostorchconnector import TosCheckpoint, CredentialProvider​
​
checkpoint_uri = 'tos://bucket/key'​
region = 'cn-beijing'​
endpoint = 'http://tos-cn-beijing.ivolces.com'​
ak = '<your-access-key>'​
sk = '<your-secret-key>'​
​
with TosCheckpoint(region, endpoint, cred=CredentialProvider(ak, sk)) as checkpoint:​
#写数据​
with checkpoint.writer(checkpoint_uri) as writer:​
writer.write(b'hello')​
writer.write(b'world')​
​
# 读数据​
with checkpoint.reader(checkpoint_uri) as reader:​
data = reader.read()​
assert data == b'helloworld'​
​
​
最近更新时间:2026.02.03 11:38:31
这个页面对您有帮助吗?
有用
有用
无用
无用