Artificial Intelligence/vision

[tip] ImportError: cannot import name 'ops' from 'keras' 해결 방법

변화의 물결1 2024. 8. 27. 11:11

 

 

 

안녕하세요.

 

Colab에서 Vision Transformer(ViT) 예제 실행하는 중에 에러가 하나 생겨서 간단하게 해결한 내용 남겨보았습니다. 에러라고 하기는 조금 그렇지만. 

 

케라스(Keras)에 올라와 있는 vision_transformer 예제를 현재 시점(2024.08)에서 Colab에서 실행하면 아래와 같이 에러가 발생했습니다.

https://keras.io/examples/vision/object_detection_using_vision_transformer/

 

Keras documentation: Object detection with Vision Transformers

► Code examples / Computer Vision / Object detection with Vision Transformers Object detection with Vision Transformers Author: Karan V. Dave Date created: 2022/03/27 Last modified: 2023/11/20 Description: A simple Keras implementation of object detectio

keras.io

 

( Last modified: 2023/11/20 -  비행기 객체탐지하는 예제)

 

 


 

1. 에러 발생

 

  ImportError: cannot import name 'ops' from 'keras' 에러가 발생하여 진행되지 않음.

 

 

 

2. 해결책

 

구글링 해보니, kearas 3 버전의 명령이라고 업그레이드가 필요하다고 해서 업그레이드 후 세션을 재시작 후 다시 진행하면 문제없이 실행하여 비행기 객체를 탐지하는 것을 확인했습니다. 사실 페이지에 예제 페이지에 "This example uses Keras 3"라고 적혀 있지만, 예제만 돌려보려고 할 때는 잘 모를 수도 있겠다고 생각이 들었습니다.

 

"It seems you are running keras 3 commands. We are still on keras 2.15. You might need to upgrade to keras 3"

https://github.com/googlecolab/colabtools/issues/4362

 

!pip install --upgrade keras

 

 

 

 

  

3. 최종 결과

 

 

 

 

4. 참  고

 

 Keras의 Ops API는 다양한 수학적 연산과 텐서 조작을 위한 함수들을 제공하는 라이브러리입니다.

주요 기능으로는 다음과 같은 것들이 있습니다.

 

  수학 연산: 덧셈, 뺄셈, 곱셈, 나눗셈 등 기본적인 수학 연산을 포함합니다.

  통계 연산: 평균, 표준편차, 분산 등의 통계적 연산을 수행할 수 있습니다.

  텐서 조작: 텐서의 형태를 변경하거나, 텐서를 합치거나 나누는 등의 조작을 할 수 있습니다.

  신경망 연산: 합성곱, 풀링, 활성화 함수 등 신경망 모델에서 자주 사용되는 연산을 포함합니다.

 

 

 

<참고 사이트>

https://keras.io/api/ops/  

 

 

 

반응형