55import tensorflow as tf
66
77from tfts import AutoConfig , AutoModel , KerasTrainer
8+ from tfts .training_args import TrainingArguments
89
910logger = logging .getLogger (__name__ )
1011
12+ # Smoke test pinning a single-device strategy so it runs identically on CI and
13+ # any multi-GPU host.
14+ _SINGLE_DEVICE_ARGS = TrainingArguments (output_dir = "./weights" , strategy = "default" )
15+
1116
1217class InputsTest (unittest .TestCase ):
1318 def setUp (self ):
@@ -26,7 +31,7 @@ def test_encoder_array(self):
2631 print (f"==== Test model { m } ====" )
2732 config = AutoConfig .for_model (m )
2833 model = AutoModel .from_config (config , predict_sequence_length = predict_sequence_length )
29- trainer = KerasTrainer (model )
34+ trainer = KerasTrainer (model , args = _SINGLE_DEVICE_ARGS )
3035 trainer .train (
3136 train_dataset = (x_train , y_train ),
3237 valid_dataset = (x_valid , y_valid ),
@@ -55,7 +60,7 @@ def test_encoder_decoder_array(self):
5560 for m in self .test_models :
5661 config = AutoConfig .for_model (m )
5762 model = AutoModel .from_config (config , predict_sequence_length = predict_sequence_length )
58- trainer = KerasTrainer (model )
63+ trainer = KerasTrainer (model , args = _SINGLE_DEVICE_ARGS )
5964 trainer .train ((x_train , y_train ), (x_valid , y_valid ), optimizer = tf .keras .optimizers .Adam (0.003 ), epochs = 1 )
6065
6166 def test_encoder_decoder_array2 (self ):
@@ -82,7 +87,7 @@ def test_encoder_decoder_array2(self):
8287 print (f"==== Test model { m } ====" )
8388 config = AutoConfig .for_model (m )
8489 model = AutoModel .from_config (config , predict_sequence_length = predict_sequence_length )
85- trainer = KerasTrainer (model )
90+ trainer = KerasTrainer (model , args = _SINGLE_DEVICE_ARGS )
8691 trainer .train ((x_train , y_train ), (x_valid , y_valid ), optimizer = tf .keras .optimizers .Adam (0.003 ), epochs = 1 )
8792
8893 # def test_encoder_tfdata(self):
@@ -121,7 +126,7 @@ def test_encoder_decoder_tfdata(self):
121126 print (f"==== Test model { m } ====" )
122127 config = AutoConfig .for_model (m )
123128 model = AutoModel .from_config (config , predict_sequence_length = predict_sequence_length )
124- trainer = KerasTrainer (model )
129+ trainer = KerasTrainer (model , args = _SINGLE_DEVICE_ARGS )
125130 trainer .train (
126131 train_dataset = train_loader ,
127132 valid_dataset = valid_loader ,
0 commit comments