Skip to content

Commit 6ebceed

Browse files
Merge branch 'main' into 120-add-use-examples-efficientnet-fine-tuning-on-cifar-100
2 parents 8742151 + 6dfb427 commit 6ebceed

File tree

11 files changed

+441
-95
lines changed

11 files changed

+441
-95
lines changed

.github/workflows/automerge.yml

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,14 @@ permissions:
1313
jobs:
1414
build:
1515
runs-on: ubuntu-latest
16+
# container:
17+
# image: python:33.11.9
1618
steps:
1719
- uses: actions/checkout@v3
1820
- name: Test Cerebros
1921
uses: actions/setup-python@v3
2022
with:
21-
python-version: "3.10.4"
23+
python-version: "3.11"
2224
- name: Install dependencies
2325
run: |
2426
python -m pip install --upgrade pip
@@ -31,28 +33,16 @@ jobs:
3133
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
3234
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
3335
# flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
34-
# - name: Test by running.
35-
# run: python3 cerebros.py
36-
# - name: Test distributed by running.
37-
# run: python3 test_simple_cerebros_gridsearch.py
38-
# - name: Test distributed random search wine by running.
39-
# run: python3 random_search.py
40-
- name: Test image classifier EfficientNetv2S - CIFAR100
41-
run: python3 cifar_100_EfficientNet.py
42-
timeout-minutes: 600
43-
# - name: Test CerebrosRealNeuronNetwork
44-
# run: python3 realnn-regression-example-ames-no-preproc.py
45-
# timeout-minutes: 45
4636
- name: Test distributed random search Ames by running
4737
run: python3 regression-example-ames-no-preproc.py
4838
- name: Test distributed random search Ames by running - Val set
4939
run: python3 regression-example-ames-no-preproc-val-set.py
50-
- name: Test text classifier - random search - ham-spam
51-
run: python3 text-class-ham-or-spam.py
52-
timeout-minutes: 90
53-
- name: Test image classifier - small subset of CIFAR10
40+
# - name: Test text classifier - random search - ham-spam
41+
# run: python3 text-class-ham-or-spam.py
42+
# timeout-minutes: 90
43+
- name: Test image classifier - small subset of CIFAR10 # add back
5444
timeout-minutes: 90
5545
run: python3 cifar10-example.py
5646
- name: Phishing email detection with GPT2 embedding
57-
timeout-minutes: 180
47+
timeout-minutes: 420
5848
run: python3 phishing_email_detection_gpt2.py

cerebros/neuralnetworkfuture/neural_network_future.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,8 +332,10 @@ def compile_neural_network(self):
332332
self.materialized_neural_network.compile(
333333
loss=self.loss,
334334
metrics=self.metrics,
335-
optimizer=tf.keras.optimizers.Adam(
336-
learning_rate=self.learning_rate),
335+
optimizer=tf.keras.optimizers.AdamW(
336+
learning_rate=self.learning_rate,
337+
weight_decay=0.004 # Add weight decay parameter
338+
),
337339
jit_compile=jit_compile)
338340

339341
def util_parse_connectivity_csv(self):

cerebros/simplecerebrosrandomsearch/simple_cerebros_random_search.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import numpy as np
33
import pandas as pd
44
import tensorflow as tf
5+
from tqdm import tqdm
56
from cerebros.denseautomlstructuralcomponent.\
67
dense_automl_structural_component \
78
import DenseAutoMlStructuralComponent, DenseLateralConnectivity, \
@@ -502,7 +503,7 @@ def run_moity_permutations(self, spec, subtrial_number, lock):
502503
with open(neural_network_spec_file, 'w') as f:
503504
f.write(str(spec))
504505
next_model_name =\
505-
f"{self.project_name}/models/tr_{str(self.trial_number).zfill(16)}_subtrial_{str(subtrial_number).zfill(16)}"\
506+
f"{self.project_name}/models/tr_{str(self.trial_number).zfill(16)}_subtrial_{str(subtrial_number).zfill(16)}.keras"\
506507
.lower()
507508
neural_network.save(next_model_name)
508509
oracle_0['trial_number'] = self.trial_number
@@ -519,7 +520,10 @@ def run_moity_permutations(self, spec, subtrial_number, lock):
519520

520521
def run_random_search(self):
521522
processes = []
522-
for i in np.arange(self.number_of_architecture_moities_to_try):
523+
for i in tqdm(np.arange(self.number_of_architecture_moities_to_try),
524+
desc="Global task progress",
525+
colour="#16ceeb"):
526+
523527
self.parse_neural_network_structural_spec_random()
524528
spec = self.get_neural_network_spec()
525529

cerebros/units/units.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,13 @@ def __init__(self,
8383
train_data_dtype=tf.float32,
8484
*args,
8585
**kwargs):
86-
87-
self.input_shape = input_shape
86+
if isinstance(input_shape, int):
87+
self.input_shape = (input_shape,)
88+
elif isinstance(input_shape, str):
89+
self.input_shape = (int(input_shape),)
90+
else:
91+
_input_shape = [int(ax) for ax in input_shape]
92+
self.input_shape = tuple(_input_shape)
8893
self.neural_network_layer = []
8994
self.base_models = base_models
9095
self.train_data_dtype = train_data_dtype

cicd-requirements.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
tensorflow-datasets==4.9.3
2-
gmpy2==2.1.5
3-
matplotlib==3.6.2
4-
tensorflow-text==2.12.0
5-
keras-nlp==0.6.2
6-
scikit-learn==1.3.2
1+
matplotlib==3.8.4
2+
tensorflow-text==2.19.0
3+
keras-nlp==0.9.1
4+
scikit-learn==1.4.1.post1
5+
tensorflow-hub==0.16.1
6+
transformers==4.51.1

cifar10-example.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ def make_dataset(dataset):
8888

8989
last_relevant_layer = base_new.layers[-2]
9090
# last_relevant_layer_extracted = last_relevant_layer #.output[0][0][0]
91-
base_embedding = tf.keras.Model(inputs=base_new.layers[0].input,
92-
outputs=last_relevant_layer.output)
91+
base_embedding = tf.keras.Model(inputs=base_new.input,
92+
outputs=last_relevant_layer.output)
9393

9494

9595
image_input_0 = tf.keras.layers.Input(shape=INPUT_SHAPES[0])

0 commit comments

Comments
 (0)