Skip to content

Commit 77c53e6

Browse files
authored
Extract graph and layer types and names to build Graph representation python (#133)
1 parent 17ad82f commit 77c53e6

8 files changed

Lines changed: 2225 additions & 144 deletions

File tree

app/AlexNet/CMakeLists.txt

Lines changed: 0 additions & 27 deletions
This file was deleted.

app/AlexNet/alexnet.cpp

Lines changed: 0 additions & 7 deletions
This file was deleted.

app/AlexNet/alexnet.hpp

Lines changed: 0 additions & 5 deletions
This file was deleted.

app/AlexNet/alexnet.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import tensorflow as tf
2+
from tensorflow.keras.models import load_model
3+
4+
# Путь к вашей модели .h5
5+
MODEL_PATH = 'cnn_cat_dog.h5'
6+
7+
# Загрузка модели
8+
model = load_model(MODEL_PATH)
9+
10+
# Получение графа модели
11+
graph = tf.compat.v1.get_default_graph()
12+
13+
# Получение весов модели
14+
weights = model.get_weights()
15+
16+
# Вывод структуры модели
17+
print("Model summary:")
18+
model.summary()
19+
OUTPUT_FILE = 'model_summary.txt'
20+
with open(OUTPUT_FILE, 'w') as f:
21+
# Вывод структуры модели в файл
22+
f.write("Model summary:\n")
23+
model.summary(print_fn=lambda x: f.write(x + '\n'))
24+
25+
# Вывод параметров каждого слоя в файл
26+
f.write("\nParameters of each layer:\n")
27+
for layer in model.layers:
28+
f.write("Layer Name: {}\n".format(layer.name))
29+
f.write("Layer Trainable: {}\n".format(layer.trainable))
30+
f.write("Layer Parameters: {}\n".format(layer.count_params()))
31+
if hasattr(layer, 'get_weights'):
32+
weights = layer.get_weights()
33+
if weights:
34+
f.write("Layer Weights:\n")
35+
for i, w in enumerate(weights):
36+
f.write("Weight {}:\n".format(i + 1))
37+
f.write(str(w) + '\n')
38+
f.write("=" * 50 + '\n')
39+
40+
print("Model summary and layer parameters have been saved to", OUTPUT_FILE)
41+

app/AlexNet/alexnet_src.cpp

Lines changed: 0 additions & 47 deletions
This file was deleted.

app/AlexNet/model_summary.txt

Lines changed: 2177 additions & 0 deletions
Large diffs are not rendered by default.

app/CMakeLists.txt

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1 @@
11
add_subdirectory(ReaderImage)
2-
if(UNIX)
3-
find_path(tensorflow_INCLUDE_DIR
4-
NAMES
5-
tensorflow/core
6-
tensorflow/c
7-
HINTS
8-
/usr/local/include/tensorflow
9-
/usr/include/tensorflow)
10-
find_library(tensorflow_LIBRARY NAMES tensorflow
11-
HINTS
12-
/usr/lib
13-
/usr/local/lib)
14-
include(FindPackageHandleStandardArgs)
15-
find_package_handle_standard_args(tensorflow DEFAULT_MSG tensorflow_INCLUDE_DIR tensorflow_LIBRARY)
16-
if(TENSORFLOW_FOUND)
17-
set(TensorFlow_LIBRARIES ${tensorflow_LIBRARY})
18-
set(TensorFlow_INCLUDE_DIRS ${tensorflow_INCLUDE_DIR})
19-
SET(TENSORFLOW_FOUND "TRUE" CACHE INTERNAL "TENSORFLOW_FOUND")
20-
21-
else()
22-
message(WARNING "TensorFlow not found. Skipping building of alexnet target.")
23-
SET(TENSORFLOW_FOUND "FALSE" CACHE INTERNAL "TENSORFLOW_FOUND")
24-
return()
25-
endif()
26-
endif()
27-
28-
if(WIN32)
29-
set(TensorFlow_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/3rdparty/tensorflow/include")
30-
set(TensorFlow_LIBRARIES "${CMAKE_SOURCE_DIR}/3rdparty/tensorflow/lib/tensorflow.lib")
31-
if(EXISTS "${TensorFlow_INCLUDE_DIRS}" AND EXISTS "${TensorFlow_LIBRARIES}")
32-
include(FindPackageHandleStandardArgs)
33-
find_package_handle_standard_args(tensorflow DEFAULT_MSG TensorFlow_INCLUDE_DIRS TensorFlow_LIBRARIES)
34-
SET(TENSORFLOW_FOUND "TRUE" CACHE INTERNAL "TENSORFLOW_FOUND")
35-
else()
36-
SET(TENSORFLOW_FOUND "FALSE" CACHE INTERNAL "TENSORFLOW_FOUND")
37-
return()
38-
endif()
39-
endif()
40-
41-
if (TENSORFLOW_FOUND)
42-
add_subdirectory(AlexNet)
43-
else()
44-
message(WARNING "TensorFlow not found. Skipping building of alexnet target.")
45-
endif()
46-

test/CMakeLists.txt

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
if(TENSORFLOW_FOUND)
2-
file(GLOB_RECURSE TEST_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
3-
else()
4-
file(GLOB_RECURSE TEST_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
5-
list(REMOVE_ITEM TEST_SRC_FILES "${CMAKE_CURRENT_SOURCE_DIR}/model_read/model_read.cpp")
6-
endif()
1+
2+
3+
file(GLOB_RECURSE TEST_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
4+
list(REMOVE_ITEM TEST_SRC_FILES "${CMAKE_CURRENT_SOURCE_DIR}/model_read/model_read.cpp")
5+
76

87
if (NOT WIN32)
98
find_package(OpenMP REQUIRED)
@@ -16,14 +15,9 @@ endif()
1615
target_link_libraries(run_test PUBLIC perf_lib layers_lib)
1716
target_link_libraries(run_test PUBLIC gtest_main)
1817
target_link_libraries(run_test PUBLIC ReadLib)
19-
if(TENSORFLOW_FOUND)
20-
target_link_libraries(run_test PUBLIC AlexNetLib)
21-
endif()
18+
2219

2320
target_include_directories(run_test PRIVATE "${CMAKE_SOURCE_DIR}/app/ReaderImage")
24-
if(TENSORFLOW_FOUND)
25-
target_include_directories(run_test PRIVATE "${CMAKE_SOURCE_DIR}/app/AlexNet")
26-
endif()
2721

2822
if (WIN32)
2923
add_custom_command(TARGET run_test POST_BUILD
@@ -69,4 +63,4 @@ file(DOWNLOAD
6963
)
7064

7165
target_compile_definitions(run_test PUBLIC TESTS_BINARY_PATH="${CMAKE_CURRENT_BINARY_DIR}")
72-
add_definitions(-DMODEL_PATH="${CMAKE_CURRENT_BINARY_DIR}/squeeze.tflite")
66+

0 commit comments

Comments
 (0)