일련의 이미지를 전달하는 신경망을 훈련 시키려고합니다. 각 이미지를 numpy 배열로 전달하는 생성기를 만들고 싶습니다.
from skimage import io
image_array = io.imread(url)
나는 다음과 같은 것을 원한다.
s3 = boto3.resource('s3')
my_bucket = s3.Bucket('some-bucket')
def my_generator():
for object in my_bucket.objects.all():
image_array = io.imread(object) # this will not work. object is of type s3.ObjectSummary(bucket_name='manga-learn-data', key=u'one-piece-colored-5340113_06_05.png') whereas io.imread is expecting a url or uri.
yield image_array
그러나 해당 image_array 변수는 작동하지 않습니다. Amazon s3에서 이미지를 다운로드하는 방법에 대해 찾을 수있는 모든 내용은 파일을 파일로 다운로드했음을 나타냅니다. 배열로 열 수있는 이미지 개체에 다운로드하고 싶습니다.
imread 에 대한 문서 에 따르면 파일 이름 또는 URL 전달 만 지원하는 것으로 보입니다. 따라서 파일과 같은 개체가 없습니다. 보이는 그래서 두 가지 옵션이 같이 : 임시 파일에 저장하거나 생성 presigned URL 에 전달 여기에 presigned URL 생성의 예입니다. :
import boto3
s3 = boto3.client('s3')
params = {'Bucket': 'foo', 'Key': 'img.jpg'}
url = s3.generate_presigned_url(ClientMethod='get_object', Params=params)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다