inflearn logo
강의

講義

知識共有

コンピュータビジョン異常検知、開発から配布までオールインワンマスター

pands_udf と画像メタ情報登録

df 에서 바이너리 값 이미지로 안보이는 현상

解決済みの質問

58

soosoo

投稿した質問数 3

0

 

import io
from pyspark.sql.functions import pandas_udf, col
from pyspark.sql.types import BinaryType

IMAGE_SIZE = 256

@pandas_udf(BinaryType())
def resize_image_udf(df_series):
    
    def resize_image(path):
        """resize image and serialise back as jpeg"""
        image_path = path.replace("dbfs:", "")
        image = Image.open(image_path)
        width, height = image.size

        image = image.crop(((width-IMAGE_SIZE)/2, (height-IMAGE_SIZE)/2, (width+IMAGE_SIZE)/2, (height+IMAGE_SIZE)/2))
        image = image.resize((IMAGE_SIZE,IMAGE_SIZE), Image.NEAREST)
        output = io.BytesIO()
        image.save(output, format='JPEG')
        return output.getvalue()
    return df_series.apply(resize_image)

image_meta = {
    "spark.contentAnnotation": '{"mimeType":"image/jpeg"}'
}
df = ( 
      file_info_df.withColumn("image", resize_image_udf("path"))
      .withColumn('image', col('image').alias('image', metadata=image_meta))
)
display(df)

 

안녕하세요 이미지 바이너리칼럼에
메타 정보를 추가했음에도 불구하고 display 한값이 아래처럼 바이너리 상태로 보이는데
왜그런지 알수 있을까요?

databricks 무료버전 + jpg파일 databricks내에 카탈로그 볼륨에 저장해서 사용한게 다르긴 하지만 그거때문에 그러진 않을 것 같고
spark 4.0.0 사용하고 있습니다 ㅠ

image.png



python 머신러닝 딥러닝 azure-databricks 인공지능(ai)

回答 1

0

nexthumans

안녕하세요, 열공 하시는 모습 너무 보기 좋습니다~^^

 

일단, metadata 적용에는 문제가 없습니다. spark 3.3+ 이면 메타데이터를 통해 display() 를 통해 df 의 이미지를 출력하는 것은 정상적으로 이루어져야 합니다.

 

일단, 두 가지를 의심해 볼 수 있겠네요.

1. path.replace("dbfs:", "") 부분이 문제가 있어 보이네요. /dbfs 가 데이터브릭스 볼륨의 기본 단위일텐데, 이것을 삭제한 것이 문제가 되는 지 체크해 보세요.

  1. from PIL import Image 호출이 안되어 있는데, 이 부분도 체크 한 번 해 보시구요.

이렇게 해서도 해결이 안된다면,

pandas_udf 로 만들기 전에 샘플 경로 하나를 가지고 정상적으로 작동하는 지 확인 후에 최종적으로 사용하면 udf로 만들어 사용한다면 아마 오류를 잡아낼 수 있지 않을까 생각합니다.

 

그럼 열공하세요!

FOREIGN KEY 정리하기, 영상대로 SQL코드 복붙해도 안되요.

0

3

1

클로드 데스크앱과의 차이

0

3

1

nmp run build의 기능

0

3

1

모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!

0

4

1

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

2

1

plan mode 개발 계획안 확인 불가

0

8

2

강의 코드 요청 및 질문

0

63

2

수업 자료 요청입니다

0

60

1

강의코드요청

0

44

1

안녕하세요, 강의자료 요청드립니다 :)

0

47

1

end point 생성 관련 질문드립니다!

0

122

4

이미지 노이즈 추가하는 코드 공유 부탁드립니다.

1

96

3

코드 자료 요청

0

75

2

o3-mini 모델은 이미지를 지원안하나요

0

51

1

통합 프레임워크 강의 요청드립니다

1

70

2

체험 계정에서는 End-point 생성이 안 되는걸까요?

0

92

2

이상치 데이터 합성 및 기본데이터셋 생성

0

93

2

OrderedDict() 질문

1

60

1

함수 input 형식 지정 외 추가 raise 구성

1

86

2

라벨링을 통한 데이터 생성

1

130

2

AWS도 Azure 환경과 유사한가요?

1

80

2

안녕하세요. 코드 자료 부탁드립니다

1

117

3

학습자료나 코드는 어디서 받아볼 수 있나요?

1

175

3

Azure OpenAI 실습 불가

1

159

1