oss读取数据集

# -*- coding: utf-8 -*-
import oss2
import io
from PIL import Image
import os
import cv2
import tensorflow as tf
# 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
auth = oss2.Auth('sb', 'sb')
# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称。
endpoint = 'oss-cn-shanghai.aliyuncs.com'
bucket = oss2.Bucket(auth, 'oss-cn-shanghai.aliyuncs.com', 'sb')
# bucket.get_object的返回值是一个类文件对象(File-Like Object),同时也是一个可迭代对象(Iterable)。
# 填写Object的完整路径。Object完整路径中不能包含Bucket名称。
index_file = 'train/test.txt'
# object_stream = bucket.get_object('facetrain/test.txt')

_indices = bucket.get_object(index_file).read().decode().splitlines()
print(type(_indices))

datalist = []
labellist = []
for file in _indices:
    pathlist = file.split(" ")
    filepath = 'facetrain'+'/'+ pathlist[0]+'/'+pathlist[1]
    img_str = bucket.get_object(filepath)
    img_buf = io.BytesIO()
    img_buf.write(img_str.read())
    img_buf.seek(0)
    img = Image.open(img_buf).convert('RGB')
    img_buf.close()
    label = pathlist[0][0]
    datalist.append(img)
    labellist.append(img)
上一篇:qtMingw 阿里OSS调用记录


下一篇:企业级数据湖最佳实践