아주 에러가 에러에 에러를 무는구만...

 

ModuleNotFoundError: No module named 'official'

pip3 install tf-models-official

[링크 : https://github.com/tensorflow/models/issues/8291]

 

from object_detection.protos import string_int_label_map_pb2 ImportError: cannot import name 'string_int_label_map_pb2' 

sudo apt-get install protobuf-compiler

protoc object_detection/protos/*.proto --python_out=.

[링크 : https://github.com/tensorflow/models/issues/7877]

 

tensorflow.python.framework.errors_impl.NotFoundError: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for checkpoint/mobilenet_v2.ckpt-1

[링크 : https://github.com/bourdakos1/Custom-Object-Detection/issues/11]

[링크 : https://github.com/tensorflow/models/issues/2676]

 

일단은 기존의 체크포인트가 있는건가 싶어서 아래의 경로에서 학습된걸 받고

config에서 300 300인걸 320 320으로 수정하고 아래와 같이 ckpt-0.data 식으로 되어 있어서 ckpt-0만 입력해주니 일단 넘어간다.

train_config: {
  fine_tune_checkpoint_version: V2
  fine_tune_checkpoint: "checkpoint/ckpt-0"
  fine_tune_checkpoint_type: "classification"

[링크 : http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_mobilenet_v2_320x320_coco17_tpu-8.tar.gz]

 

tensorflow/core/framework/cpu_allocator_impl.cc:80] Allocation of 629145600 exceeds 10% of free system memory.

config 파일에서 찾아보니 train_config에 batch_size가 좀 큰 듯?

train_config: {
  fine_tune_checkpoint_version: V2
  fine_tune_checkpoint: "aimd/checkpoint/ckpt-0"
  fine_tune_checkpoint_type: "classification"
  batch_size: 512

[링크 : https://stackoverflow.com/questions/50304156]

 

AssertionError: Some Python objects were not bound to checkpointed values, likely due to changes in the Python program: [SyncOnReadVariable:{
  0: <tf.Variable 'block_6_expand_BN/moving_variance:0' shape=(192,) dtype=float32, numpy=

아니. 제공된 건데 왜 detection이 아니고 classification으로 되어 있는거야?

# fine_tune_checkpoint_type: "classification"

fine_tune_checkpoint_type: "detection"

[링크 : https://stackoverflow.com/questions/63552169]

 

 

ValueError: Cannot assign to variable BoxPredictor/ConvolutionalClassHead_0/ClassPredictor/bias:0 due to variable shape (6,) and value shape (273,) are incompatible

원래 학습된게 90개를 구분하도록 된 녀석인데 강제로 숫자를 바꾸어 주었더니(90->1) 저렇게 에러가 난듯.

대충 (1+1)*3 과 (90+1)*3 을 해보면 맞는 수치인 것 같은데..

[링크 : https://eehoeskrap.tistory.com/368]

 

i5-2520m 에서 1번의 train/ 1번의 eval을 하도록 설정하였는데

train 880 여개 eval 220  여개 인데 나름 1분 30초면 빠른건가? (쌩 cpu 만으로 하는데)

2021. 02. 20. (토) 23:47:07 KST
real 1m29.988s
user 2m4.538s
sys 0m6.553s
2021. 02. 20. (토) 23:48:37 KST
Posted by 구차니