모델은 320x320이고

label_image 예제는 224x224 로 차이가 있긴한데

입력 이미지 크기도 영향을 받으려나?

 

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

[링크 : https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/examples/label_image/label_image.cc]

 

Posted by 구차니

댓글을 달아 주세요

파이썬 경로는 매번 이상하네..

$ python3 export_tflite_graph_tf2.py --pipeline_config_path ssd_mobilenet_v2_320x320_coco17_tpu-8/pipeline.config --trained_checkpoint_dir ssd_mobilenet_v2_320x320_coco17_tpu-8/checkpoint/ --output_directory output
$ tflite_convert  --output_file saved_model.tflite --saved_model_dir ./

 

위는 변환에 사용한 ssd_mobilenet_v2_320x320_coco17_tpu-8 의 모델

아래는 export_tflite_graph_tf2.py를 통해 변환된 모델과 해당 모델은 tflite_convert를 통해서 변환한 tflite 모델

용량도 좀 변했는데 먼가 처리를 하긴 한 듯.

-rw-r----- 1 minimonk minimonk 9196842  7월 10  2020 saved_model.pb
-rw-r----- 1 minimonk minimonk 24548676  7월 10  2020 variables.data-00000-of-00001
-rw-r----- 1 minimonk minimonk     6158  7월 10  2020 variables.index

-rw-rw-r-- 1 minimonk minimonk  9321388  2월 26 19:14 saved_model.pb
-rw-rw-r-- 1 minimonk minimonk 24248516  2월 26 19:16 saved_model.tflite
-rw-rw-r-- 1 minimonk minimonk 24546669  2월 26 19:14 variables.data-00000-of-00001
-rw-rw-r-- 1 minimonk minimonk    19031  2월 26 19:14 variables.index

2021/02/24 - [프로그램 사용/yolo_tensorflow_golo] - tflite convert

Posted by 구차니

댓글을 달아 주세요

공식적으로 정리된 용어집이 없냐!!!!

 

모델은 텐서가 먼가를 연산하는 함수 기능?

A model is, abstractly:

A function that computes something on tensors (a forward pass) Some variables that can be updated in response to training

[링크 : http://www.tensorflow.org/guide/intro_to_graphs]

 

그래프는 tf.Operation 객체의 집합을 포함하는 데이터 구조

Graphs are data structures that contain a set of tf.Operation objects, which represent units of computation; and tf.Tensor objects, which represent the units of data that flow between operations

[링크 : http://www.tensorflow.org/guide/intro_to_modules]

 

체크포인트는 모델에 의해서 사용되는 모든 패러미터의 정확한 값을 캡쳐한다.

Checkpoints capture the exact value of all parameters (tf.Variable objects) used by a model. Checkpoints do not contain any description of the computation defined by the model and thus are typically only useful when source code that will use the saved parameter values is available.

[링크 : http://www.tensorflow.org/guide/checkpoint]

[링크 : http://www.tensorflow.org/guide/saved_model]

 

 

Posted by 구차니

댓글을 달아 주세요

계속 tflite_convert 만 사용했는데 export_Tflite_graph_tf2.py 라는 다른 녀석을 발견했다.

ssd mobilenetv2를 주로 사용했었으니 이걸로 tflite 변환이 잘되면 좋겠네 ㅠㅠ

 

NOTE: This only supports SSD meta-architectures for now.

[링크 : http://github.com/tensorflow/models/blob/master/research/object_detection/export_tflite_graph_tf2.py]

[링크 : http://github.com/tensorflow/models/issues/9371]

 

'프로그램 사용 > yolo_tensorflow_golo' 카테고리의 다른 글

ssd model convert for tflite  (0) 2021.02.26
tensorflow 용어 정의  (0) 2021.02.25
tflite convert  (0) 2021.02.24
tensorflow flex ops  (0) 2021.02.23
tensorflow 1.15 설치가 힘들군  (0) 2021.02.22
tensorflow2 학습 해보기 어렵네..  (0) 2021.02.20
Posted by 구차니

댓글을 달아 주세요

flex ops라는 말이 많이 나와서 도대체 멀까 정의를 찾아보는데 공식적인 문서는 발견하지 못했지만..

select 텐서플로우 ops를 텐서플로우 라이트에서 사용하는 내부 코드의 명칭

이라고 하니 더 이해가 안되네?

 

"Flex" is the internal code name for the "Using TensorFlow Lite with select TensorFlow ops" feature.

[링크 : http://stackoverflow.com/questions/53824223/what-does-flex-op-mean-in-tensorflow]

[링크 : https://www.tensorflow.org/lite/guide/ops_select]

 

+

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

'프로그램 사용 > yolo_tensorflow_golo' 카테고리의 다른 글

tensorflow 용어 정의  (0) 2021.02.25
tflite convert  (0) 2021.02.24
tensorflow flex ops  (0) 2021.02.23
tensorflow 1.15 설치가 힘들군  (0) 2021.02.22
tensorflow2 학습 해보기 어렵네..  (0) 2021.02.20
tensorflow 객체 탐지 디렉토리 구조  (0) 2021.02.19
Posted by 구차니

댓글을 달아 주세요

 

$ python3
Python 3.8.5 (default, Jul 28 2020, 12:59:40) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

 

$ pip3 install tensorflow==1.15.5
ERROR: Could not find a version that satisfies the requirement tensorflow==1.15.5 (from versions: 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.2.1, 2.2.2, 2.3.0rc0, 2.3.0rc1, 2.3.0rc2, 2.3.0, 2.3.1, 2.3.2, 2.4.0rc0, 2.4.0rc1, 2.4.0rc2, 2.4.0rc3, 2.4.0rc4, 2.4.0, 2.4.1)
ERROR: No matching distribution found for tensorflow==1.15.5

[링크 : https://pypi.org/project/tensorflow/1.15.5/]

 

[링크 : https://stackoverflow.com/questions/61491893/i-cannot-install-tensorflow-version-1-15-through-pip]

Posted by 구차니

댓글을 달아 주세요

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

 

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 구차니

댓글을 달아 주세요

data - *.record (바이너리 타입의 이미지에 대한 ROI 좌표)

training - *.pbxt (json 타입의 이미지 라벨)

images - test (eval용 이미지)

images - train (학습용 이미지)

object_detection - *.py (library)

 

generate_tfrecord.py

model_main_tf2.py (학습)

exporter_main_v2.py (pb로 결과물 내보내기)

Posted by 구차니

댓글을 달아 주세요

텐서플로우 object detection 관련 시작 지점으로 보면 되려나?

 

[링크 : http://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2.md]

Posted by 구차니

댓글을 달아 주세요

텐서플로우 모델에서 메타데이터를 보다보니 에러가 발생하는 녀석도 있어서

찾아는 보는데 도대체 먼지 알 수가 없네..

 

[링크 : http://https://www.tensorflow.org/tfx/serving/serving_basic]

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

Posted by 구차니

댓글을 달아 주세요