대충 버전이 맞았는지 돌아는 간다.


Epoch 1/25
 52/755 [=>............................] - ETA: 1:04:39 - loss: 0.3203 - accuracy: 0.8534    

 

주요 설치 패키지 버전은 아래와 같고

keras                        2.14.0
mobilenet-v3                 0.1.2
numpy                        1.24.4
tensorflow                   2.14.0

 

수정된 소스는 다음과 같다.

그런데 voc 디렉토리를 통채로 넣었는데 어찌 돌아는 가는데.. 어떤 파일로 학습을 하는거냐.. -_-

from keras.applications import MobileNet
from keras.models import Sequential,Model 
from keras.layers import Dense,Dropout,Activation,Flatten,GlobalAveragePooling2D
from keras.layers import Conv2D,MaxPooling2D,ZeroPadding2D
from keras.layers.normalization import BatchNormalization
from tensorflow.keras.preprocessing.image import ImageDataGenerator

# MobileNet is designed to work with images of dim 224,224
img_rows,img_cols = 224,224

MobileNet = MobileNet(weights='imagenet',include_top=False,input_shape=(img_rows,img_cols,3))

# Here we freeze the last 4 layers
# Layers are set to trainable as True by default

for layer in MobileNet.layers:
    layer.trainable = True

# Let's print our layers
for (i,layer) in enumerate(MobileNet.layers):
    print(str(i),layer.__class__.__name__,layer.trainable)

def addTopModelMobileNet(bottom_model, num_classes):
    """creates the top or head of the model that will be 
    placed ontop of the bottom layers"""
    top_model = bottom_model.output
    top_model = GlobalAveragePooling2D()(top_model)
    top_model = Dense(1024,activation='relu')(top_model)
    top_model = Dense(1024,activation='relu')(top_model)
    top_model = Dense(512,activation='relu')(top_model)
    top_model = Dense(num_classes,activation='softmax')(top_model)
    return top_model

num_classes = 5  # ['Angry','Happy','Neutral','Sad','Surprise']

FC_Head = addTopModelMobileNet(MobileNet, num_classes)

model = Model(inputs = MobileNet.input, outputs = FC_Head)

print(model.summary())

train_data_dir = 'VOC2012_train_val/VOC2012_train_val'
validation_data_dir = 'VOC2012_test/VOC2012_test'

train_datagen = ImageDataGenerator(
                    rescale=1./255,
                    rotation_range=30,
                    width_shift_range=0.3,
                    height_shift_range=0.3,
                    horizontal_flip=True,
                    fill_mode='nearest'
                                   )

validation_datagen = ImageDataGenerator(rescale=1./255)

batch_size = 32

train_generator = train_datagen.flow_from_directory(
                        train_data_dir,
                        target_size = (img_rows,img_cols),
                        batch_size = batch_size,
                        class_mode = 'categorical'
                        )

validation_generator = validation_datagen.flow_from_directory(
                            validation_data_dir,
                            target_size=(img_rows,img_cols),
                            batch_size=batch_size,
                            class_mode='categorical')

from keras.optimizers import RMSprop,Adam
from keras.callbacks import ModelCheckpoint,EarlyStopping,ReduceLROnPlateau

checkpoint = ModelCheckpoint(
                             'emotion_face_mobilNet.h5',
                             monitor='val_loss',
                             mode='min',
                             save_best_only=True,
                             verbose=1)

earlystop = EarlyStopping(
                          monitor='val_loss',
                          min_delta=0,
                          patience=10,
                          verbose=1,restore_best_weights=True)

learning_rate_reduction = ReduceLROnPlateau(monitor='val_acc', 
                                            patience=5, 
                                            verbose=1, 
                                            factor=0.2, 
                                            min_lr=0.0001)

callbacks = [earlystop,checkpoint,learning_rate_reduction]

model.compile(loss='categorical_crossentropy',
              optimizer=Adam(learning_rate=0.001),
              metrics=['accuracy']
              )

nb_train_samples = 24176
nb_validation_samples = 3006

epochs = 25

history = model.fit(
            train_generator,
            steps_per_epoch=nb_train_samples//batch_size,     
            epochs=epochs,
            callbacks=callbacks,
            validation_data=validation_generator,
            validation_steps=nb_validation_samples//batch_size)


 

 

Epoch 1/25
718/755 [===========================>..] - ETA: 3:28 - loss: 0.1569 - accuracy: 0.9301WARNING:tensorflow:Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches (in this case, 18875 batches). You may need to use the repeat() function when building your dataset.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/utils/traceback_utils.py", line 70, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "/home/minimonk/.local/lib/python3.10/site-packages/tensorflow/python/eager/execute.py", line 60, in quick_execute
    tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
tensorflow.python.framework.errors_impl.InvalidArgumentError: Graph execution error:

Detected at node categorical_crossentropy/softmax_cross_entropy_with_logits defined at (most recent call last):
  File "<stdin>", line 1, in <module>

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/utils/traceback_utils.py", line 65, in error_handler

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/engine/training.py", line 1832, in fit

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/utils/traceback_utils.py", line 65, in error_handler

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/engine/training.py", line 2272, in evaluate

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/engine/training.py", line 4079, in run_step

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/engine/training.py", line 2042, in test_function

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/engine/training.py", line 2025, in step_function

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/engine/training.py", line 2013, in run_step

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/engine/training.py", line 1895, in test_step

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/engine/training.py", line 1185, in compute_loss

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/engine/compile_utils.py", line 277, in __call__

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/losses.py", line 143, in __call__

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/losses.py", line 270, in call

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/losses.py", line 2221, in categorical_crossentropy

  File "/home/minimonk/.local/lib/python3.10/site-packages/keras/src/backend.py", line 5581, in categorical_crossentropy

logits and labels must be broadcastable: logits_size=[32,5] labels_size=[32,3]
 [[{{node categorical_crossentropy/softmax_cross_entropy_with_logits}}]] [Op:__inference_test_function_15346]
>>> 

 

전체 pip 패키지들 버전 정보는 아래와 같다.

$ pip list
Package                      Version
---------------------------- ----------------
absl-py                      2.3.1
appdirs                      1.4.4
apturl                       0.5.2
astunparse                   1.6.3
attrs                        21.2.0
bcrypt                       3.2.0
beautifulsoup4               4.10.0
beniget                      0.4.1
blinker                      1.4
Brlapi                       0.8.3
Brotli                       1.0.9
cachetools                   5.5.2
certifi                      2020.6.20
chardet                      4.0.0
click                        8.0.3
colorama                     0.4.4
command-not-found            0.3
cryptography                 3.4.8
cupshelpers                  1.0
cycler                       0.11.0
dbus-python                  1.2.18
decorator                    4.4.2
defer                        1.0.6
distro                       1.7.0
distro-info                  1.1+ubuntu0.2
duplicity                    0.8.21
fasteners                    0.14.1
flatbuffers                  25.2.10
fonttools                    4.29.1
fs                           2.4.12
future                       0.18.2
gast                         0.6.0
google-auth                  2.40.3
google-auth-oauthlib         1.0.0
google-pasta                 0.2.0
grpcio                       1.74.0
h5py                         3.14.0
html5lib                     1.1
httplib2                     0.20.2
idna                         3.3
importlib-metadata           4.6.4
jeepney                      0.7.1
keras                        2.14.0
keyring                      23.5.0
kiwisolver                   1.3.2
language-selector            0.1
launchpadlib                 1.10.16
lazr.restfulclient           0.14.4
lazr.uri                     1.0.6
libclang                     18.1.1
lockfile                     0.12.2
louis                        3.20.0
lxml                         4.8.0
lz4                          3.1.3+dfsg
macaroonbakery               1.3.1
Mako                         1.1.3
Markdown                     3.9
markdown-it-py               4.0.0
MarkupSafe                   3.0.2
matplotlib                   3.5.1
mdurl                        0.1.2
meld                         3.20.4
ml-dtypes                    0.2.0
mobilenet-v3                 0.1.2
monotonic                    1.6
more-itertools               8.10.0
mpmath                       0.0.0
namex                        0.1.0
netifaces                    0.11.0
numpy                        1.24.4
oauthlib                     3.2.0
olefile                      0.46
opt_einsum                   3.4.0
optree                       0.17.0
packaging                    21.3
paramiko                     2.9.3
pexpect                      4.8.0
Pillow                       9.0.1
pip                          22.0.2
Pivy                         0.6.5
ply                          3.11
protobuf                     4.25.8
ptyprocess                   0.7.0
pyasn1                       0.6.1
pyasn1_modules               0.4.2
pycairo                      1.20.1
pycups                       2.0.1
Pygments                     2.19.2
PyGObject                    3.42.1
PyJWT                        2.3.0
pymacaroons                  0.13.0
PyNaCl                       1.5.0
pyparsing                    2.4.7
pyRFC3339                    1.1
python-apt                   2.4.0+ubuntu4
python-dateutil              2.8.1
python-debian                0.1.43+ubuntu1.1
pythran                      0.10.0
pytz                         2022.1
pyxdg                        0.27
PyYAML                       5.4.1
reportlab                    3.6.8
requests                     2.25.1
requests-oauthlib            2.0.0
rich                         14.1.0
rsa                          4.9.1
scipy                        1.15.3
scour                        0.38.2
SecretStorage                3.3.1
setuptools                   59.6.0
six                          1.16.0
soupsieve                    2.3.1
ssh-import-id                5.11
sympy                        1.9
systemd-python               234
tensorboard                  2.14.1
tensorboard-data-server      0.7.2
tensorflow                   2.14.0
tensorflow-estimator         2.14.0
tensorflow-io-gcs-filesystem 0.37.1
termcolor                    3.1.0
typing_extensions            4.15.0
ubuntu-drivers-common        0.0.0
ubuntu-pro-client            8001
ufoLib2                      0.13.1
ufw                          0.36.1
unattended-upgrades          0.1
unicodedata2                 14.0.0
urllib3                      1.26.5
usb-creator                  0.3.7
wadllib                      1.3.6
webencodings                 0.5.1
Werkzeug                     3.1.3
wheel                        0.37.1
wrapt                        1.14.2
xdg                          5
xkit                         0.0.0
zipp                         1.0.0

 

-------- 아래는 참고 안하는게 속 편할지도...?

2020년 3월의 문서를 keras와 tensorflow로 2025년에 다시 시도해봄

 

일단은 아래처럼 설치하니 어찌 되는 느낌

$ pip install mobilenet-v3
$ pip install tensorflow
$ pip install numpy==1.26.4

 

상세로그

$ pip install mobilenet-v3
Defaulting to user installation because normal site-packages is not writeable
Collecting mobilenet-v3
  Downloading mobilenet_v3-0.1.4-py3-none-any.whl (18 kB)
Installing collected packages: mobilenet-v3
Successfully installed mobilenet-v3-0.1.4

$ pip install tensorflow
Defaulting to user installation because normal site-packages is not writeable
Collecting tensorflow
  Downloading tensorflow-2.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (620.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 620.4/620.4 MB 2.5 MB/s eta 0:00:00
Collecting google_pasta>=0.1.1
  Downloading google_pasta-0.2.0-py3-none-any.whl (57 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.5/57.5 KB 9.6 MB/s eta 0:00:00
Collecting absl-py>=1.0.0
  Downloading absl_py-2.3.1-py3-none-any.whl (135 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.8/135.8 KB 12.8 MB/s eta 0:00:00
Collecting libclang>=13.0.0
  Downloading libclang-18.1.1-py2.py3-none-manylinux2010_x86_64.whl (24.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.5/24.5 MB 9.6 MB/s eta 0:00:00
Collecting gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1
  Downloading gast-0.6.0-py3-none-any.whl (21 kB)
Collecting protobuf>=5.28.0
  Downloading protobuf-6.32.1-cp39-abi3-manylinux2014_x86_64.whl (322 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 322.0/322.0 KB 11.5 MB/s eta 0:00:00
Collecting ml_dtypes<1.0.0,>=0.5.1
  Downloading ml_dtypes-0.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.9/4.9 MB 9.9 MB/s eta 0:00:00
Collecting numpy>=1.26.0
  Downloading numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.8/16.8 MB 9.9 MB/s eta 0:00:00
Requirement already satisfied: packaging in /usr/lib/python3/dist-packages (from tensorflow) (21.3)
Requirement already satisfied: six>=1.12.0 in /usr/lib/python3/dist-packages (from tensorflow) (1.16.0)
Collecting termcolor>=1.1.0
  Downloading termcolor-3.1.0-py3-none-any.whl (7.7 kB)
Collecting typing_extensions>=3.6.6
  Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.6/44.6 KB 8.2 MB/s eta 0:00:00
Collecting tensorboard~=2.20.0
  Downloading tensorboard-2.20.0-py3-none-any.whl (5.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.5/5.5 MB 10.9 MB/s eta 0:00:00
Collecting astunparse>=1.6.0
  Downloading astunparse-1.6.3-py2.py3-none-any.whl (12 kB)
Collecting opt_einsum>=2.3.2
  Downloading opt_einsum-3.4.0-py3-none-any.whl (71 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 71.9/71.9 KB 8.4 MB/s eta 0:00:00
Collecting h5py>=3.11.0
  Downloading h5py-3.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.6/4.6 MB 9.4 MB/s eta 0:00:00
Collecting flatbuffers>=24.3.25
  Downloading flatbuffers-25.2.10-py2.py3-none-any.whl (30 kB)
Collecting keras>=3.10.0
  Downloading keras-3.11.3-py3-none-any.whl (1.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 8.0 MB/s eta 0:00:00
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from tensorflow) (59.6.0)
Requirement already satisfied: requests<3,>=2.21.0 in /usr/lib/python3/dist-packages (from tensorflow) (2.25.1)
Collecting wrapt>=1.11.0
  Downloading wrapt-1.17.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.0/82.0 KB 7.3 MB/s eta 0:00:00
Collecting grpcio<2.0,>=1.24.3
  Downloading grpcio-1.74.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 12.3 MB/s eta 0:00:00
Requirement already satisfied: wheel<1.0,>=0.23.0 in /usr/lib/python3/dist-packages (from astunparse>=1.6.0->tensorflow) (0.37.1)
Collecting optree
  Downloading optree-0.17.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (387 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 388.0/388.0 KB 11.8 MB/s eta 0:00:00
Collecting rich
  Downloading rich-14.1.0-py3-none-any.whl (243 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 243.4/243.4 KB 10.4 MB/s eta 0:00:00
Collecting namex
  Downloading namex-0.1.0-py3-none-any.whl (5.9 kB)
Requirement already satisfied: pillow in /usr/lib/python3/dist-packages (from tensorboard~=2.20.0->tensorflow) (9.0.1)
Collecting werkzeug>=1.0.1
  Downloading werkzeug-3.1.3-py3-none-any.whl (224 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 224.5/224.5 KB 7.7 MB/s eta 0:00:00
Collecting markdown>=2.6.8
  Downloading markdown-3.9-py3-none-any.whl (107 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 107.4/107.4 KB 7.1 MB/s eta 0:00:00
Collecting tensorboard-data-server<0.8.0,>=0.7.0
  Downloading tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl (6.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.6/6.6 MB 9.9 MB/s eta 0:00:00
Collecting MarkupSafe>=2.1.1
  Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)
Collecting markdown-it-py>=2.2.0
  Downloading markdown_it_py-4.0.0-py3-none-any.whl (87 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.3/87.3 KB 8.2 MB/s eta 0:00:00
Collecting pygments<3.0.0,>=2.13.0
  Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 13.2 MB/s eta 0:00:00
Collecting mdurl~=0.1
  Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Installing collected packages: namex, libclang, flatbuffers, wrapt, typing_extensions, termcolor, tensorboard-data-server, pygments, protobuf, opt_einsum, numpy, mdurl, MarkupSafe, markdown, grpcio, google_pasta, gast, astunparse, absl-py, werkzeug, optree, ml_dtypes, markdown-it-py, h5py, tensorboard, rich, keras, tensorflow
  WARNING: The script pygmentize is installed in '/home/minimonk/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts f2py and numpy-config are installed in '/home/minimonk/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script markdown_py is installed in '/home/minimonk/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script markdown-it is installed in '/home/minimonk/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script tensorboard is installed in '/home/minimonk/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts import_pb_to_tensorboard, saved_model_cli, tensorboard, tf_upgrade_v2, tflite_convert and toco are installed in '/home/minimonk/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed MarkupSafe-3.0.2 absl-py-2.3.1 astunparse-1.6.3 flatbuffers-25.2.10 gast-0.6.0 google_pasta-0.2.0 grpcio-1.74.0 h5py-3.14.0 keras-3.11.3 libclang-18.1.1 markdown-3.9 markdown-it-py-4.0.0 mdurl-0.1.2 ml_dtypes-0.5.3 namex-0.1.0 numpy-2.2.6 opt_einsum-3.4.0 optree-0.17.0 protobuf-6.32.1 pygments-2.19.2 rich-14.1.0 tensorboard-2.20.0 tensorboard-data-server-0.7.2 tensorflow-2.20.0 termcolor-3.1.0 typing_extensions-4.15.0 werkzeug-3.1.3 wrapt-1.17.3
minimonk@minimonk-HP-EliteBook-2760p:~$ pip install keras
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: keras in ./.local/lib/python3.10/site-packages (3.11.3)
Requirement already satisfied: absl-py in ./.local/lib/python3.10/site-packages (from keras) (2.3.1)
Requirement already satisfied: numpy in ./.local/lib/python3.10/site-packages (from keras) (2.2.6)
Requirement already satisfied: rich in ./.local/lib/python3.10/site-packages (from keras) (14.1.0)
Requirement already satisfied: ml-dtypes in ./.local/lib/python3.10/site-packages (from keras) (0.5.3)
Requirement already satisfied: namex in ./.local/lib/python3.10/site-packages (from keras) (0.1.0)
Requirement already satisfied: optree in ./.local/lib/python3.10/site-packages (from keras) (0.17.0)
Requirement already satisfied: h5py in ./.local/lib/python3.10/site-packages (from keras) (3.14.0)
Requirement already satisfied: packaging in /usr/lib/python3/dist-packages (from keras) (21.3)
Requirement already satisfied: typing-extensions>=4.6.0 in ./.local/lib/python3.10/site-packages (from optree->keras) (4.15.0)
Requirement already satisfied: markdown-it-py>=2.2.0 in ./.local/lib/python3.10/site-packages (from rich->keras) (4.0.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in ./.local/lib/python3.10/site-packages (from rich->keras) (2.19.2)
Requirement already satisfied: mdurl~=0.1 in ./.local/lib/python3.10/site-packages (from markdown-it-py>=2.2.0->rich->keras) (0.1.2)

$ pip install numpy==1.26.4

 

numpy 1.26.4를 깔게 된 에러메시지

$ python3
Python 3.10.12 (main, Aug 15 2025, 14:32:43) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
2025-09-15 15:28:06.544207: I external/local_xla/xla/tsl/cuda/cudart_stub.cc:31] Could not find cuda drivers on your machine, GPU will not be used.
/usr/lib/python3/dist-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.17.3 and <1.25.0 is required for this version of SciPy (detected version 2.2.6
  warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.2.6 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last):  File "<stdin>", line 1, in <module>
  File "/home/minimonk/.local/lib/python3.10/site-packages/tensorflow/__init__.py", line 49, in <module>
    from tensorflow._api.v2 import __internal__
  File "/home/minimonk/.local/lib/python3.10/site-packages/tensorflow/_api/v2/__internal__/__init__.py", line 13, in <module>
    from tensorflow._api.v2.__internal__ import feature_column
  File "/home/minimonk/.local/lib/python3.10/site-packages/tensorflow/_api/v2/__internal__/feature_column/__init__.py", line 8, in <module>
    from tensorflow.python.feature_column.feature_column_v2 import DenseColumn # line: 1777
  File "/home/minimonk/.local/lib/python3.10/site-packages/tensorflow/python/feature_column/feature_column_v2.py", line 38, in <module>
    from tensorflow.python.feature_column import feature_column as fc_old
  File "/home/minimonk/.local/lib/python3.10/site-packages/tensorflow/python/feature_column/feature_column.py", line 41, in <module>
    from tensorflow.python.layers import base
  File "/home/minimonk/.local/lib/python3.10/site-packages/tensorflow/python/layers/base.py", line 16, in <module>
    from tensorflow.python.keras.legacy_tf_layers import base
  File "/home/minimonk/.local/lib/python3.10/site-packages/tensorflow/python/keras/__init__.py", line 25, in <module>
    from tensorflow.python.keras import models
  File "/home/minimonk/.local/lib/python3.10/site-packages/tensorflow/python/keras/models.py", line 25, in <module>
    from tensorflow.python.keras.engine import training_v1
  File "/home/minimonk/.local/lib/python3.10/site-packages/tensorflow/python/keras/engine/training_v1.py", line 46, in <module>
    from tensorflow.python.keras.engine import training_arrays_v1
  File "/home/minimonk/.local/lib/python3.10/site-packages/tensorflow/python/keras/engine/training_arrays_v1.py", line 37, in <module>
    from scipy.sparse import issparse  # pylint: disable=g-import-not-at-top
  File "/usr/lib/python3/dist-packages/scipy/sparse/__init__.py", line 267, in <module>
    from ._csr import *
  File "/usr/lib/python3/dist-packages/scipy/sparse/_csr.py", line 10, in <module>
    from ._sparsetools import (csr_tocsc, csr_tobsr, csr_count_blocks,
AttributeError: _ARRAY_API not found

[링크 : https://mhui123.tistory.com/143]

 

그런데 mobilenet이 ssd가 없으면 classification만 되는 놈이었나?

from keras.applications import MobileNet
from keras.layers import Dense,Dropout,Activation, Flatten, GlobalAveragePooling2D
from keras.layers import Conv2D, MaxPooling2D, ZeroPadding2D
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from keras.optimizers import RMSprop, Adam
from keras.callbacks import ModelCheckpoint, EarlyStopping, ReduceLROnPlateau

img_rows,img_cols = 224,224
MobileNet = MobileNet(weights='imagenet', include_top=False, input_shape=(img_rows, img_cols, 3))
2025-09-15 16:00:19.852870: E external/local_xla/xla/stream_executor/cuda/cuda_platform.cc:51] failed call to cuInit: INTERNAL: CUDA error: Failed call to cuInit: UNKNOWN ERROR (303)
Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/mobilenet/mobilenet_1_0_224_tf_no_top.h5
17225924/17225924 ━━━━━━━━━━━━━━━━━━━━ 1s 0us/step 

>>> for layer in MobileNet.layers:
...   layer.trainable = True
... 
>>> for (i, layer) in enumerate(MobileNet.layers):
...   print(str(i), layer.__class__.__name__, layer.trainable)
... 
0 InputLayer True
1 Conv2D True
2 BatchNormalization True
3 ReLU True
4 DepthwiseConv2D True
5 BatchNormalization True
6 ReLU True
7 Conv2D True
8 BatchNormalization True
9 ReLU True
10 ZeroPadding2D True
11 DepthwiseConv2D True
12 BatchNormalization True
13 ReLU True
14 Conv2D True
15 BatchNormalization True
16 ReLU True
17 DepthwiseConv2D True
18 BatchNormalization True
19 ReLU True
20 Conv2D True
21 BatchNormalization True
22 ReLU True
23 ZeroPadding2D True
24 DepthwiseConv2D True
25 BatchNormalization True
26 ReLU True
27 Conv2D True
28 BatchNormalization True
29 ReLU True
30 DepthwiseConv2D True
31 BatchNormalization True
32 ReLU True
33 Conv2D True
34 BatchNormalization True
35 ReLU True
36 ZeroPadding2D True
37 DepthwiseConv2D True
38 BatchNormalization True
39 ReLU True
40 Conv2D True
41 BatchNormalization True
42 ReLU True
43 DepthwiseConv2D True
44 BatchNormalization True
45 ReLU True
46 Conv2D True
47 BatchNormalization True
48 ReLU True
49 DepthwiseConv2D True
50 BatchNormalization True
51 ReLU True
52 Conv2D True
53 BatchNormalization True
54 ReLU True
55 DepthwiseConv2D True
56 BatchNormalization True
57 ReLU True
58 Conv2D True
59 BatchNormalization True
60 ReLU True
61 DepthwiseConv2D True
62 BatchNormalization True
63 ReLU True
64 Conv2D True
65 BatchNormalization True
66 ReLU True
67 DepthwiseConv2D True
68 BatchNormalization True
69 ReLU True
70 Conv2D True
71 BatchNormalization True
72 ReLU True
73 ZeroPadding2D True
74 DepthwiseConv2D True
75 BatchNormalization True
76 ReLU True
77 Conv2D True
78 BatchNormalization True
79 ReLU True
80 DepthwiseConv2D True
81 BatchNormalization True
82 ReLU True
83 Conv2D True
84 BatchNormalization True
85 ReLU True

>>> MobileNet.output
<KerasTensor shape=(None, 7, 7, 1024), dtype=float32, sparse=False, ragged=False, name=keras_tensor_85>
>>> MobileNet.input
<KerasTensor shape=(None, 224, 224, 3), dtype=float32, sparse=False, ragged=False, name=keras_tensor>
>>> MobileNet.summary()
Model: "mobilenet_1.00_224"
┏--------------------------------------┳-----------------------------┳-----------------┓
┃ Layer (type)                         ┃ Output Shape                ┃         Param # ┃
┡--------------------------------------╇-----------------------------╇-----------------┩
│ input_layer (InputLayer)             │ (None, 224, 224, 3)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv1 (Conv2D)                       │ (None, 112, 112, 32)        │             864 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv1_bn (BatchNormalization)        │ (None, 112, 112, 32)        │             128 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv1_relu (ReLU)                    │ (None, 112, 112, 32)        │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_1 (DepthwiseConv2D)          │ (None, 112, 112, 32)        │             288 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_1_bn (BatchNormalization)    │ (None, 112, 112, 32)        │             128 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_1_relu (ReLU)                │ (None, 112, 112, 32)        │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_1 (Conv2D)                   │ (None, 112, 112, 64)        │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_1_bn (BatchNormalization)    │ (None, 112, 112, 64)        │             256 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_1_relu (ReLU)                │ (None, 112, 112, 64)        │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pad_2 (ZeroPadding2D)           │ (None, 113, 113, 64)        │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_2 (DepthwiseConv2D)          │ (None, 56, 56, 64)          │             576 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_2_bn (BatchNormalization)    │ (None, 56, 56, 64)          │             256 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_2_relu (ReLU)                │ (None, 56, 56, 64)          │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_2 (Conv2D)                   │ (None, 56, 56, 128)         │           8,192 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_2_bn (BatchNormalization)    │ (None, 56, 56, 128)         │             512 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_2_relu (ReLU)                │ (None, 56, 56, 128)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_3 (DepthwiseConv2D)          │ (None, 56, 56, 128)         │           1,152 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_3_bn (BatchNormalization)    │ (None, 56, 56, 128)         │             512 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_3_relu (ReLU)                │ (None, 56, 56, 128)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_3 (Conv2D)                   │ (None, 56, 56, 128)         │          16,384 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_3_bn (BatchNormalization)    │ (None, 56, 56, 128)         │             512 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_3_relu (ReLU)                │ (None, 56, 56, 128)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pad_4 (ZeroPadding2D)           │ (None, 57, 57, 128)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_4 (DepthwiseConv2D)          │ (None, 28, 28, 128)         │           1,152 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_4_bn (BatchNormalization)    │ (None, 28, 28, 128)         │             512 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_4_relu (ReLU)                │ (None, 28, 28, 128)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_4 (Conv2D)                   │ (None, 28, 28, 256)         │          32,768 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_4_bn (BatchNormalization)    │ (None, 28, 28, 256)         │           1,024 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_4_relu (ReLU)                │ (None, 28, 28, 256)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_5 (DepthwiseConv2D)          │ (None, 28, 28, 256)         │           2,304 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_5_bn (BatchNormalization)    │ (None, 28, 28, 256)         │           1,024 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_5_relu (ReLU)                │ (None, 28, 28, 256)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_5 (Conv2D)                   │ (None, 28, 28, 256)         │          65,536 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_5_bn (BatchNormalization)    │ (None, 28, 28, 256)         │           1,024 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_5_relu (ReLU)                │ (None, 28, 28, 256)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pad_6 (ZeroPadding2D)           │ (None, 29, 29, 256)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_6 (DepthwiseConv2D)          │ (None, 14, 14, 256)         │           2,304 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_6_bn (BatchNormalization)    │ (None, 14, 14, 256)         │           1,024 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_6_relu (ReLU)                │ (None, 14, 14, 256)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_6 (Conv2D)                   │ (None, 14, 14, 512)         │         131,072 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_6_bn (BatchNormalization)    │ (None, 14, 14, 512)         │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_6_relu (ReLU)                │ (None, 14, 14, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_7 (DepthwiseConv2D)          │ (None, 14, 14, 512)         │           4,608 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_7_bn (BatchNormalization)    │ (None, 14, 14, 512)         │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_7_relu (ReLU)                │ (None, 14, 14, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_7 (Conv2D)                   │ (None, 14, 14, 512)         │         262,144 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_7_bn (BatchNormalization)    │ (None, 14, 14, 512)         │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_7_relu (ReLU)                │ (None, 14, 14, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_8 (DepthwiseConv2D)          │ (None, 14, 14, 512)         │           4,608 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_8_bn (BatchNormalization)    │ (None, 14, 14, 512)         │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_8_relu (ReLU)                │ (None, 14, 14, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_8 (Conv2D)                   │ (None, 14, 14, 512)         │         262,144 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_8_bn (BatchNormalization)    │ (None, 14, 14, 512)         │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_8_relu (ReLU)                │ (None, 14, 14, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_9 (DepthwiseConv2D)          │ (None, 14, 14, 512)         │           4,608 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_9_bn (BatchNormalization)    │ (None, 14, 14, 512)         │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_9_relu (ReLU)                │ (None, 14, 14, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_9 (Conv2D)                   │ (None, 14, 14, 512)         │         262,144 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_9_bn (BatchNormalization)    │ (None, 14, 14, 512)         │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_9_relu (ReLU)                │ (None, 14, 14, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_10 (DepthwiseConv2D)         │ (None, 14, 14, 512)         │           4,608 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_10_bn (BatchNormalization)   │ (None, 14, 14, 512)         │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_10_relu (ReLU)               │ (None, 14, 14, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_10 (Conv2D)                  │ (None, 14, 14, 512)         │         262,144 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_10_bn (BatchNormalization)   │ (None, 14, 14, 512)         │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_10_relu (ReLU)               │ (None, 14, 14, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_11 (DepthwiseConv2D)         │ (None, 14, 14, 512)         │           4,608 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_11_bn (BatchNormalization)   │ (None, 14, 14, 512)         │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_11_relu (ReLU)               │ (None, 14, 14, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_11 (Conv2D)                  │ (None, 14, 14, 512)         │         262,144 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_11_bn (BatchNormalization)   │ (None, 14, 14, 512)         │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_11_relu (ReLU)               │ (None, 14, 14, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pad_12 (ZeroPadding2D)          │ (None, 15, 15, 512)         │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_12 (DepthwiseConv2D)         │ (None, 7, 7, 512)           │           4,608 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_12_bn (BatchNormalization)   │ (None, 7, 7, 512)           │           2,048 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_12_relu (ReLU)               │ (None, 7, 7, 512)           │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_12 (Conv2D)                  │ (None, 7, 7, 1024)          │         524,288 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_12_bn (BatchNormalization)   │ (None, 7, 7, 1024)          │           4,096 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_12_relu (ReLU)               │ (None, 7, 7, 1024)          │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_13 (DepthwiseConv2D)         │ (None, 7, 7, 1024)          │           9,216 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_13_bn (BatchNormalization)   │ (None, 7, 7, 1024)          │           4,096 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_dw_13_relu (ReLU)               │ (None, 7, 7, 1024)          │               0 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_13 (Conv2D)                  │ (None, 7, 7, 1024)          │       1,048,576 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_13_bn (BatchNormalization)   │ (None, 7, 7, 1024)          │           4,096 │
├--------------------------------------┼-----------------------------┼-----------------┤
│ conv_pw_13_relu (ReLU)               │ (None, 7, 7, 1024)          │               0 │
└--------------------------------------┴-----------------------------┴-----------------┘
 Total params: 3,228,864 (12.32 MB)
 Trainable params: 3,206,976 (12.23 MB)
 Non-trainable params: 21,888 (85.50 KB)

[링크 : https://kau-deeperent.tistory.com/m/59]

 

# from keras.preprocessing.image import ImageDataGenerator #  에러났음
from tensorflow.keras.preprocessing.image import ImageDataGenerator

[링크 : https://sugyeong0425.tistory.com/151]

 

voc2012 데이터셋설명

[링크 : https://bo-10000.tistory.com/38]

[링크 : https://velog.io/@kyungmin1029/CV-OpenCV]

 

2024.8 월 이니 한번 시도해볼 만할 듯?

[링크 : https://velog.io/@choonsik_mom/MobileNet-SSD-object-detector-커스텀-데이터-학습하기-m3j5d0xh]

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

mean Average Precision(mAP)  (0) 2025.09.05
내장 그래픽으로 ROCm?  (0) 2025.09.05
ai 모델들 조사  (0) 2025.09.04
NMS, soft-NMS  (0) 2024.01.15
VGG-16 / VGG-19  (0) 2024.01.11
Posted by 구차니