TypeError: 'NoneType' object is not callable

숭글·2021년 2월 23일
0

딥러닝

목록 보기
2/3

model.fit()을 사용하다 뜬 에러..

TypeError: 'NoneType' object is not callable

하루종~일 보고 겨우 고쳤다..

as_list() is not defined on an unknown tensorshape

이랑 자주 나오던데 나만 그런 건 아닌듯

아무리 다시 봐도 data, label 둘 다 shape도 잘 맞고..정말 다시 하나하나 확인해도 에러가 날 부분이 없어서 당황했었다;;;;;;

고친 방법은 이것.,,

def _fixup_shape(images, labels):
    images.set_shape([None, 15, 256, 256, 3])
    labels.set_shape([None, 12])
    return images, labels

참고로 내가 사용한 processing이 끝난 데이터의 쉐입은
((15, 256, 256, 3), (12, ))이었다

서머리에서
input shape은 [(None, 15, 256, 256, 3)]이었고
output shape은 (None, 17) 로
원래라면 그냥 돌아갈 코드지만

아마 dataAPI 사용이 원인이지 않을까 싶다

shuffle()할 때 버퍼 사이즈 만큼 꺼내서
map()함수 적용하고
이걸 계속 반복하니까
None을 미리 정의해두는 것 같기도?

아무튼 서머리에 뜬 것과 똑같은 쉐입으로 미리 변경해둔 후 fit()을 돌리니 잘 돌아감!

return dataset.batch(batch_size, drop_remainder = True).map(_fixup_shape).prefetch(1)

prefetch()하기 전에 적용해줬다

profile
Hi!😁 I'm Soongle. Welcome to my Velog!!!

1개의 댓글

comment-user-thumbnail
2021년 4월 15일

같은 Error일지 모르겠지만..
pychace 폴더 삭제 하면 문제 없이 동작하네요
참고) https://www.programmersought.com/article/75461996431/

답글 달기