// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.machinelearning.generated;

import com.azure.core.util.BinaryData;
import com.azure.resourcemanager.machinelearning.models.ClassificationMultilabelPrimaryMetrics;
import com.azure.resourcemanager.machinelearning.models.EarlyTerminationPolicy;
import com.azure.resourcemanager.machinelearning.models.ImageClassificationMultilabel;
import com.azure.resourcemanager.machinelearning.models.ImageLimitSettings;
import com.azure.resourcemanager.machinelearning.models.ImageModelDistributionSettingsClassification;
import com.azure.resourcemanager.machinelearning.models.ImageModelSettingsClassification;
import com.azure.resourcemanager.machinelearning.models.ImageSweepSettings;
import com.azure.resourcemanager.machinelearning.models.InputDeliveryMode;
import com.azure.resourcemanager.machinelearning.models.LearningRateScheduler;
import com.azure.resourcemanager.machinelearning.models.LogVerbosity;
import com.azure.resourcemanager.machinelearning.models.MLFlowModelJobInput;
import com.azure.resourcemanager.machinelearning.models.MLTableJobInput;
import com.azure.resourcemanager.machinelearning.models.SamplingAlgorithmType;
import com.azure.resourcemanager.machinelearning.models.StochasticOptimizer;
import java.time.Duration;
import java.util.Arrays;
import org.junit.jupiter.api.Assertions;

public final class ImageClassificationMultilabelTests {
    @org.junit.jupiter.api.Test
    public void testDeserialize() throws Exception {
        ImageClassificationMultilabel model =
            BinaryData
                .fromString(
                    "{\"taskType\":\"ImageClassificationMultilabel\",\"primaryMetric\":\"AUCWeighted\",\"modelSettings\":{\"trainingCropSize\":417240457,\"validationCropSize\":789963505,\"validationResizeSize\":69598333,\"weightedLoss\":1308483372,\"advancedSettings\":\"bjkdtfohf\",\"amsGradient\":true,\"augmentations\":\"vkiwrsiwdyjqu\",\"beta1\":22.829306,\"beta2\":15.07703,\"checkpointFrequency\":405607966,\"checkpointModel\":{\"jobInputType\":\"mlflow_model\",\"mode\":\"EvalMount\",\"uri\":\"kcsueho\",\"description\":\"dac\"},\"checkpointRunId\":\"bgydlqidywm\",\"distributed\":true,\"earlyStopping\":false,\"earlyStoppingDelay\":750629994,\"earlyStoppingPatience\":1002138354,\"enableOnnxNormalization\":false,\"evaluationFrequency\":1214590834,\"gradientAccumulationStep\":1690234008,\"layersToFreeze\":541884766,\"learningRate\":83.81946,\"learningRateScheduler\":\"None\",\"modelName\":\"fnqt\",\"momentum\":10.774154,\"nesterov\":false,\"numberOfEpochs\":1583628489,\"numberOfWorkers\":10545664,\"optimizer\":\"Adamw\",\"randomSeed\":645986055,\"stepLRGamma\":13.888711,\"stepLRStepSize\":1004373323,\"trainingBatchSize\":1424628175,\"validationBatchSize\":1893405653,\"warmupCosineLRCycles\":73.06933,\"warmupCosineLRWarmupEpochs\":669991542,\"weightDecay\":8.02623},\"searchSpace\":[{\"trainingCropSize\":\"x\",\"validationCropSize\":\"vmywhsbrcarycsjj\",\"validationResizeSize\":\"voaqajuvehzptdmk\",\"weightedLoss\":\"bhmpfulubefgybp\",\"amsGradient\":\"bfununmpzkrv\",\"augmentations\":\"ifkdschlzvf\",\"beta1\":\"tnkjjwgcwnphb\",\"beta2\":\"fyrtogmhmjp\",\"distributed\":\"cdf\",\"earlyStopping\":\"qwtygevgwmseharx\",\"earlyStoppingDelay\":\"vqnrxtmbpj\",\"earlyStoppingPatience\":\"nvwjhrsidqpxl\",\"enableOnnxNormalization\":\"pakftngatwm\",\"evaluationFrequency\":\"yutrymd\",\"gradientAccumulationStep\":\"fj\",\"layersToFreeze\":\"y\",\"learningRate\":\"jqdvdwkqpldrlefg\",\"learningRateScheduler\":\"avuagnteta\",\"modelName\":\"tnpdctuhspfefy\",\"momentum\":\"duyeuyl\",\"nesterov\":\"hmtybkcgsuthhll\",\"numberOfEpochs\":\"wynefx\",\"numberOfWorkers\":\"lf\",\"optimizer\":\"atxtjrrlkmdskjhh\",\"randomSeed\":\"lajfoxcxscvslxlh\",\"stepLRGamma\":\"vkrmukmyjmkx\",\"stepLRStepSize\":\"tcsloj\",\"trainingBatchSize\":\"qid\",\"validationBatchSize\":\"toqxjh\",\"warmupCosineLRCycles\":\"csqhtkbtnqlrng\",\"warmupCosineLRWarmupEpochs\":\"mbiipsnawwlqk\",\"weightDecay\":\"xhhllxricct\"},{\"trainingCropSize\":\"muqqoajxei\",\"validationCropSize\":\"lesrwva\",\"validationResizeSize\":\"hdctrceqn\",\"weightedLoss\":\"rupobehd\",\"amsGradient\":\"jzacvumepjpbibn\",\"augmentations\":\"phepifexleqirc\",\"beta1\":\"cly\",\"beta2\":\"gxvrpjl\",\"distributed\":\"zuodacpun\",\"earlyStopping\":\"tepdjxqes\",\"earlyStoppingDelay\":\"ynu\",\"earlyStoppingPatience\":\"lpckaewsedves\",\"enableOnnxNormalization\":\"xegqphr\",\"evaluationFrequency\":\"nzhctmjtsgh\",\"gradientAccumulationStep\":\"c\",\"layersToFreeze\":\"pzarpzeqacdld\",\"learningRate\":\"mpypefcpczshnuq\",\"learningRateScheduler\":\"aizu\",\"modelName\":\"kh\",\"momentum\":\"tu\",\"nesterov\":\"xhmt\",\"numberOfEpochs\":\"vegwqiukvz\",\"numberOfWorkers\":\"dwttha\",\"optimizer\":\"gkskjivbss\",\"randomSeed\":\"jqf\",\"stepLRGamma\":\"peexpgeumilhwuit\",\"stepLRStepSize\":\"exyionofninbd\",\"trainingBatchSize\":\"s\",\"validationBatchSize\":\"wqqrsmpcbbprtuga\",\"warmupCosineLRCycles\":\"zbcyksiv\",\"warmupCosineLRWarmupEpochs\":\"ogd\",\"weightDecay\":\"bfcmkrfts\"},{\"trainingCropSize\":\"wjjxsgm\",\"validationCropSize\":\"wvif\",\"validationResizeSize\":\"kecifhocjxwklo\",\"weightedLoss\":\"rvtxvcmufunlc\",\"amsGradient\":\"xvi\",\"augmentations\":\"eyngjg\",\"beta1\":\"quv\",\"beta2\":\"gglpmcrdcuelj\",\"distributed\":\"ahxm\",\"earlyStopping\":\"ryarvsxzqb\",\"earlyStoppingDelay\":\"cjkay\",\"earlyStoppingPatience\":\"thzodubtlmjtgbl\",\"enableOnnxNormalization\":\"skkfmk\",\"evaluationFrequency\":\"djxyxgbkkqvjcteo\",\"gradientAccumulationStep\":\"l\",\"layersToFreeze\":\"lskkzpxvj\",\"learningRate\":\"dpvocojhpcn\",\"learningRateScheduler\":\"xzfsnggytexvzilm\",\"modelName\":\"vzkwwwncknr\",\"momentum\":\"ajlskzptj\",\"nesterov\":\"lwe\",\"numberOfEpochs\":\"yrth\",\"numberOfWorkers\":\"lehmcgcjeinueho\",\"optimizer\":\"mvfejvqnttmbqd\",\"randomSeed\":\"zfivfokpysthhzag\",\"stepLRGamma\":\"wyy\",\"stepLRStepSize\":\"hgenuzejgvkveb\",\"trainingBatchSize\":\"szllrzlsmmdqgmi\",\"validationBatchSize\":\"pimcqrhn\",\"warmupCosineLRCycles\":\"minkl\",\"warmupCosineLRWarmupEpochs\":\"xsvtzarhzvqnsqk\",\"weightDecay\":\"mbjwzzoslpkyb\"},{\"trainingCropSize\":\"lwkzpgajsqjcem\",\"validationCropSize\":\"mfuvqarwzxuqr\",\"validationResizeSize\":\"lui\",\"weightedLoss\":\"bwxsfgtdm\",\"amsGradient\":\"xekr\",\"augmentations\":\"k\",\"beta1\":\"budbt\",\"beta2\":\"okbavlyttaak\",\"distributed\":\"frkebsmhpd\",\"earlyStopping\":\"dig\",\"earlyStoppingDelay\":\"olekscbctnanqim\",\"earlyStoppingPatience\":\"zxpdcldpkawnsnl\",\"enableOnnxNormalization\":\"mouxwksqmudmfco\",\"evaluationFrequency\":\"icziuswswjrkb\",\"gradientAccumulationStep\":\"jhbtqq\",\"layersToFreeze\":\"fs\",\"learningRate\":\"rfwb\",\"learningRateScheduler\":\"qvogfuyz\",\"modelName\":\"bhli\",\"momentum\":\"yqe\",\"nesterov\":\"ood\",\"numberOfEpochs\":\"kcdrdaasaxxobsm\",\"numberOfWorkers\":\"wiyjvzuko\",\"optimizer\":\"nawnvz\",\"randomSeed\":\"n\",\"stepLRGamma\":\"ywsxvjabjqqaxu\",\"stepLRStepSize\":\"y\",\"trainingBatchSize\":\"nudn\",\"validationBatchSize\":\"abhjx\",\"warmupCosineLRCycles\":\"qweuip\",\"warmupCosineLRWarmupEpochs\":\"vk\",\"weightDecay\":\"itnsqxtltc\"}],\"limitSettings\":{\"maxConcurrentTrials\":2077569332,\"maxTrials\":49498731,\"timeout\":\"PT39H45M28S\"},\"sweepSettings\":{\"earlyTermination\":{\"policyType\":\"EarlyTerminationPolicy\",\"delayEvaluation\":1996640929,\"evaluationInterval\":1459369662},\"samplingAlgorithm\":\"Bayesian\"},\"validationData\":{\"jobInputType\":\"mltable\",\"mode\":\"EvalMount\",\"uri\":\"d\",\"description\":\"c\"},\"validationDataSize\":60.747284942704425,\"logVerbosity\":\"Debug\",\"targetColumnName\":\"rjajqmatxjtie\",\"trainingData\":{\"jobInputType\":\"mltable\",\"mode\":\"Direct\",\"uri\":\"qgxxgfbb\",\"description\":\"lpqagyn\"}}")
                .toObject(ImageClassificationMultilabel.class);
        Assertions.assertEquals(LogVerbosity.DEBUG, model.logVerbosity());
        Assertions.assertEquals("rjajqmatxjtie", model.targetColumnName());
        Assertions.assertEquals("lpqagyn", model.trainingData().description());
        Assertions.assertEquals(InputDeliveryMode.DIRECT, model.trainingData().mode());
        Assertions.assertEquals("qgxxgfbb", model.trainingData().uri());
        Assertions.assertEquals(ClassificationMultilabelPrimaryMetrics.AUCWEIGHTED, model.primaryMetric());
        Assertions.assertEquals("bjkdtfohf", model.modelSettings().advancedSettings());
        Assertions.assertEquals(true, model.modelSettings().amsGradient());
        Assertions.assertEquals("vkiwrsiwdyjqu", model.modelSettings().augmentations());
        Assertions.assertEquals(22.829306F, model.modelSettings().beta1());
        Assertions.assertEquals(15.07703F, model.modelSettings().beta2());
        Assertions.assertEquals(405607966, model.modelSettings().checkpointFrequency());
        Assertions.assertEquals("dac", model.modelSettings().checkpointModel().description());
        Assertions.assertEquals(InputDeliveryMode.EVAL_MOUNT, model.modelSettings().checkpointModel().mode());
        Assertions.assertEquals("kcsueho", model.modelSettings().checkpointModel().uri());
        Assertions.assertEquals("bgydlqidywm", model.modelSettings().checkpointRunId());
        Assertions.assertEquals(true, model.modelSettings().distributed());
        Assertions.assertEquals(false, model.modelSettings().earlyStopping());
        Assertions.assertEquals(750629994, model.modelSettings().earlyStoppingDelay());
        Assertions.assertEquals(1002138354, model.modelSettings().earlyStoppingPatience());
        Assertions.assertEquals(false, model.modelSettings().enableOnnxNormalization());
        Assertions.assertEquals(1214590834, model.modelSettings().evaluationFrequency());
        Assertions.assertEquals(1690234008, model.modelSettings().gradientAccumulationStep());
        Assertions.assertEquals(541884766, model.modelSettings().layersToFreeze());
        Assertions.assertEquals(83.81946F, model.modelSettings().learningRate());
        Assertions.assertEquals(LearningRateScheduler.NONE, model.modelSettings().learningRateScheduler());
        Assertions.assertEquals("fnqt", model.modelSettings().modelName());
        Assertions.assertEquals(10.774154F, model.modelSettings().momentum());
        Assertions.assertEquals(false, model.modelSettings().nesterov());
        Assertions.assertEquals(1583628489, model.modelSettings().numberOfEpochs());
        Assertions.assertEquals(10545664, model.modelSettings().numberOfWorkers());
        Assertions.assertEquals(StochasticOptimizer.ADAMW, model.modelSettings().optimizer());
        Assertions.assertEquals(645986055, model.modelSettings().randomSeed());
        Assertions.assertEquals(13.888711F, model.modelSettings().stepLRGamma());
        Assertions.assertEquals(1004373323, model.modelSettings().stepLRStepSize());
        Assertions.assertEquals(1424628175, model.modelSettings().trainingBatchSize());
        Assertions.assertEquals(1893405653, model.modelSettings().validationBatchSize());
        Assertions.assertEquals(73.06933F, model.modelSettings().warmupCosineLRCycles());
        Assertions.assertEquals(669991542, model.modelSettings().warmupCosineLRWarmupEpochs());
        Assertions.assertEquals(8.02623F, model.modelSettings().weightDecay());
        Assertions.assertEquals(417240457, model.modelSettings().trainingCropSize());
        Assertions.assertEquals(789963505, model.modelSettings().validationCropSize());
        Assertions.assertEquals(69598333, model.modelSettings().validationResizeSize());
        Assertions.assertEquals(1308483372, model.modelSettings().weightedLoss());
        Assertions.assertEquals("bfununmpzkrv", model.searchSpace().get(0).amsGradient());
        Assertions.assertEquals("ifkdschlzvf", model.searchSpace().get(0).augmentations());
        Assertions.assertEquals("tnkjjwgcwnphb", model.searchSpace().get(0).beta1());
        Assertions.assertEquals("fyrtogmhmjp", model.searchSpace().get(0).beta2());
        Assertions.assertEquals("cdf", model.searchSpace().get(0).distributed());
        Assertions.assertEquals("qwtygevgwmseharx", model.searchSpace().get(0).earlyStopping());
        Assertions.assertEquals("vqnrxtmbpj", model.searchSpace().get(0).earlyStoppingDelay());
        Assertions.assertEquals("nvwjhrsidqpxl", model.searchSpace().get(0).earlyStoppingPatience());
        Assertions.assertEquals("pakftngatwm", model.searchSpace().get(0).enableOnnxNormalization());
        Assertions.assertEquals("yutrymd", model.searchSpace().get(0).evaluationFrequency());
        Assertions.assertEquals("fj", model.searchSpace().get(0).gradientAccumulationStep());
        Assertions.assertEquals("y", model.searchSpace().get(0).layersToFreeze());
        Assertions.assertEquals("jqdvdwkqpldrlefg", model.searchSpace().get(0).learningRate());
        Assertions.assertEquals("avuagnteta", model.searchSpace().get(0).learningRateScheduler());
        Assertions.assertEquals("tnpdctuhspfefy", model.searchSpace().get(0).modelName());
        Assertions.assertEquals("duyeuyl", model.searchSpace().get(0).momentum());
        Assertions.assertEquals("hmtybkcgsuthhll", model.searchSpace().get(0).nesterov());
        Assertions.assertEquals("wynefx", model.searchSpace().get(0).numberOfEpochs());
        Assertions.assertEquals("lf", model.searchSpace().get(0).numberOfWorkers());
        Assertions.assertEquals("atxtjrrlkmdskjhh", model.searchSpace().get(0).optimizer());
        Assertions.assertEquals("lajfoxcxscvslxlh", model.searchSpace().get(0).randomSeed());
        Assertions.assertEquals("vkrmukmyjmkx", model.searchSpace().get(0).stepLRGamma());
        Assertions.assertEquals("tcsloj", model.searchSpace().get(0).stepLRStepSize());
        Assertions.assertEquals("qid", model.searchSpace().get(0).trainingBatchSize());
        Assertions.assertEquals("toqxjh", model.searchSpace().get(0).validationBatchSize());
        Assertions.assertEquals("csqhtkbtnqlrng", model.searchSpace().get(0).warmupCosineLRCycles());
        Assertions.assertEquals("mbiipsnawwlqk", model.searchSpace().get(0).warmupCosineLRWarmupEpochs());
        Assertions.assertEquals("xhhllxricct", model.searchSpace().get(0).weightDecay());
        Assertions.assertEquals("x", model.searchSpace().get(0).trainingCropSize());
        Assertions.assertEquals("vmywhsbrcarycsjj", model.searchSpace().get(0).validationCropSize());
        Assertions.assertEquals("voaqajuvehzptdmk", model.searchSpace().get(0).validationResizeSize());
        Assertions.assertEquals("bhmpfulubefgybp", model.searchSpace().get(0).weightedLoss());
        Assertions.assertEquals(2077569332, model.limitSettings().maxConcurrentTrials());
        Assertions.assertEquals(49498731, model.limitSettings().maxTrials());
        Assertions.assertEquals(Duration.parse("PT39H45M28S"), model.limitSettings().timeout());
        Assertions.assertEquals(1996640929, model.sweepSettings().earlyTermination().delayEvaluation());
        Assertions.assertEquals(1459369662, model.sweepSettings().earlyTermination().evaluationInterval());
        Assertions.assertEquals(SamplingAlgorithmType.BAYESIAN, model.sweepSettings().samplingAlgorithm());
        Assertions.assertEquals("c", model.validationData().description());
        Assertions.assertEquals(InputDeliveryMode.EVAL_MOUNT, model.validationData().mode());
        Assertions.assertEquals("d", model.validationData().uri());
        Assertions.assertEquals(60.747284942704425D, model.validationDataSize());
    }

    @org.junit.jupiter.api.Test
    public void testSerialize() throws Exception {
        ImageClassificationMultilabel model =
            new ImageClassificationMultilabel()
                .withLogVerbosity(LogVerbosity.DEBUG)
                .withTargetColumnName("rjajqmatxjtie")
                .withTrainingData(
                    new MLTableJobInput()
                        .withDescription("lpqagyn")
                        .withMode(InputDeliveryMode.DIRECT)
                        .withUri("qgxxgfbb"))
                .withPrimaryMetric(ClassificationMultilabelPrimaryMetrics.AUCWEIGHTED)
                .withModelSettings(
                    new ImageModelSettingsClassification()
                        .withAdvancedSettings("bjkdtfohf")
                        .withAmsGradient(true)
                        .withAugmentations("vkiwrsiwdyjqu")
                        .withBeta1(22.829306F)
                        .withBeta2(15.07703F)
                        .withCheckpointFrequency(405607966)
                        .withCheckpointModel(
                            new MLFlowModelJobInput()
                                .withDescription("dac")
                                .withMode(InputDeliveryMode.EVAL_MOUNT)
                                .withUri("kcsueho"))
                        .withCheckpointRunId("bgydlqidywm")
                        .withDistributed(true)
                        .withEarlyStopping(false)
                        .withEarlyStoppingDelay(750629994)
                        .withEarlyStoppingPatience(1002138354)
                        .withEnableOnnxNormalization(false)
                        .withEvaluationFrequency(1214590834)
                        .withGradientAccumulationStep(1690234008)
                        .withLayersToFreeze(541884766)
                        .withLearningRate(83.81946F)
                        .withLearningRateScheduler(LearningRateScheduler.NONE)
                        .withModelName("fnqt")
                        .withMomentum(10.774154F)
                        .withNesterov(false)
                        .withNumberOfEpochs(1583628489)
                        .withNumberOfWorkers(10545664)
                        .withOptimizer(StochasticOptimizer.ADAMW)
                        .withRandomSeed(645986055)
                        .withStepLRGamma(13.888711F)
                        .withStepLRStepSize(1004373323)
                        .withTrainingBatchSize(1424628175)
                        .withValidationBatchSize(1893405653)
                        .withWarmupCosineLRCycles(73.06933F)
                        .withWarmupCosineLRWarmupEpochs(669991542)
                        .withWeightDecay(8.02623F)
                        .withTrainingCropSize(417240457)
                        .withValidationCropSize(789963505)
                        .withValidationResizeSize(69598333)
                        .withWeightedLoss(1308483372))
                .withSearchSpace(
                    Arrays
                        .asList(
                            new ImageModelDistributionSettingsClassification()
                                .withAmsGradient("bfununmpzkrv")
                                .withAugmentations("ifkdschlzvf")
                                .withBeta1("tnkjjwgcwnphb")
                                .withBeta2("fyrtogmhmjp")
                                .withDistributed("cdf")
                                .withEarlyStopping("qwtygevgwmseharx")
                                .withEarlyStoppingDelay("vqnrxtmbpj")
                                .withEarlyStoppingPatience("nvwjhrsidqpxl")
                                .withEnableOnnxNormalization("pakftngatwm")
                                .withEvaluationFrequency("yutrymd")
                                .withGradientAccumulationStep("fj")
                                .withLayersToFreeze("y")
                                .withLearningRate("jqdvdwkqpldrlefg")
                                .withLearningRateScheduler("avuagnteta")
                                .withModelName("tnpdctuhspfefy")
                                .withMomentum("duyeuyl")
                                .withNesterov("hmtybkcgsuthhll")
                                .withNumberOfEpochs("wynefx")
                                .withNumberOfWorkers("lf")
                                .withOptimizer("atxtjrrlkmdskjhh")
                                .withRandomSeed("lajfoxcxscvslxlh")
                                .withStepLRGamma("vkrmukmyjmkx")
                                .withStepLRStepSize("tcsloj")
                                .withTrainingBatchSize("qid")
                                .withValidationBatchSize("toqxjh")
                                .withWarmupCosineLRCycles("csqhtkbtnqlrng")
                                .withWarmupCosineLRWarmupEpochs("mbiipsnawwlqk")
                                .withWeightDecay("xhhllxricct")
                                .withTrainingCropSize("x")
                                .withValidationCropSize("vmywhsbrcarycsjj")
                                .withValidationResizeSize("voaqajuvehzptdmk")
                                .withWeightedLoss("bhmpfulubefgybp"),
                            new ImageModelDistributionSettingsClassification()
                                .withAmsGradient("jzacvumepjpbibn")
                                .withAugmentations("phepifexleqirc")
                                .withBeta1("cly")
                                .withBeta2("gxvrpjl")
                                .withDistributed("zuodacpun")
                                .withEarlyStopping("tepdjxqes")
                                .withEarlyStoppingDelay("ynu")
                                .withEarlyStoppingPatience("lpckaewsedves")
                                .withEnableOnnxNormalization("xegqphr")
                                .withEvaluationFrequency("nzhctmjtsgh")
                                .withGradientAccumulationStep("c")
                                .withLayersToFreeze("pzarpzeqacdld")
                                .withLearningRate("mpypefcpczshnuq")
                                .withLearningRateScheduler("aizu")
                                .withModelName("kh")
                                .withMomentum("tu")
                                .withNesterov("xhmt")
                                .withNumberOfEpochs("vegwqiukvz")
                                .withNumberOfWorkers("dwttha")
                                .withOptimizer("gkskjivbss")
                                .withRandomSeed("jqf")
                                .withStepLRGamma("peexpgeumilhwuit")
                                .withStepLRStepSize("exyionofninbd")
                                .withTrainingBatchSize("s")
                                .withValidationBatchSize("wqqrsmpcbbprtuga")
                                .withWarmupCosineLRCycles("zbcyksiv")
                                .withWarmupCosineLRWarmupEpochs("ogd")
                                .withWeightDecay("bfcmkrfts")
                                .withTrainingCropSize("muqqoajxei")
                                .withValidationCropSize("lesrwva")
                                .withValidationResizeSize("hdctrceqn")
                                .withWeightedLoss("rupobehd"),
                            new ImageModelDistributionSettingsClassification()
                                .withAmsGradient("xvi")
                                .withAugmentations("eyngjg")
                                .withBeta1("quv")
                                .withBeta2("gglpmcrdcuelj")
                                .withDistributed("ahxm")
                                .withEarlyStopping("ryarvsxzqb")
                                .withEarlyStoppingDelay("cjkay")
                                .withEarlyStoppingPatience("thzodubtlmjtgbl")
                                .withEnableOnnxNormalization("skkfmk")
                                .withEvaluationFrequency("djxyxgbkkqvjcteo")
                                .withGradientAccumulationStep("l")
                                .withLayersToFreeze("lskkzpxvj")
                                .withLearningRate("dpvocojhpcn")
                                .withLearningRateScheduler("xzfsnggytexvzilm")
                                .withModelName("vzkwwwncknr")
                                .withMomentum("ajlskzptj")
                                .withNesterov("lwe")
                                .withNumberOfEpochs("yrth")
                                .withNumberOfWorkers("lehmcgcjeinueho")
                                .withOptimizer("mvfejvqnttmbqd")
                                .withRandomSeed("zfivfokpysthhzag")
                                .withStepLRGamma("wyy")
                                .withStepLRStepSize("hgenuzejgvkveb")
                                .withTrainingBatchSize("szllrzlsmmdqgmi")
                                .withValidationBatchSize("pimcqrhn")
                                .withWarmupCosineLRCycles("minkl")
                                .withWarmupCosineLRWarmupEpochs("xsvtzarhzvqnsqk")
                                .withWeightDecay("mbjwzzoslpkyb")
                                .withTrainingCropSize("wjjxsgm")
                                .withValidationCropSize("wvif")
                                .withValidationResizeSize("kecifhocjxwklo")
                                .withWeightedLoss("rvtxvcmufunlc"),
                            new ImageModelDistributionSettingsClassification()
                                .withAmsGradient("xekr")
                                .withAugmentations("k")
                                .withBeta1("budbt")
                                .withBeta2("okbavlyttaak")
                                .withDistributed("frkebsmhpd")
                                .withEarlyStopping("dig")
                                .withEarlyStoppingDelay("olekscbctnanqim")
                                .withEarlyStoppingPatience("zxpdcldpkawnsnl")
                                .withEnableOnnxNormalization("mouxwksqmudmfco")
                                .withEvaluationFrequency("icziuswswjrkb")
                                .withGradientAccumulationStep("jhbtqq")
                                .withLayersToFreeze("fs")
                                .withLearningRate("rfwb")
                                .withLearningRateScheduler("qvogfuyz")
                                .withModelName("bhli")
                                .withMomentum("yqe")
                                .withNesterov("ood")
                                .withNumberOfEpochs("kcdrdaasaxxobsm")
                                .withNumberOfWorkers("wiyjvzuko")
                                .withOptimizer("nawnvz")
                                .withRandomSeed("n")
                                .withStepLRGamma("ywsxvjabjqqaxu")
                                .withStepLRStepSize("y")
                                .withTrainingBatchSize("nudn")
                                .withValidationBatchSize("abhjx")
                                .withWarmupCosineLRCycles("qweuip")
                                .withWarmupCosineLRWarmupEpochs("vk")
                                .withWeightDecay("itnsqxtltc")
                                .withTrainingCropSize("lwkzpgajsqjcem")
                                .withValidationCropSize("mfuvqarwzxuqr")
                                .withValidationResizeSize("lui")
                                .withWeightedLoss("bwxsfgtdm")))
                .withLimitSettings(
                    new ImageLimitSettings()
                        .withMaxConcurrentTrials(2077569332)
                        .withMaxTrials(49498731)
                        .withTimeout(Duration.parse("PT39H45M28S")))
                .withSweepSettings(
                    new ImageSweepSettings()
                        .withEarlyTermination(
                            new EarlyTerminationPolicy()
                                .withDelayEvaluation(1996640929)
                                .withEvaluationInterval(1459369662))
                        .withSamplingAlgorithm(SamplingAlgorithmType.BAYESIAN))
                .withValidationData(
                    new MLTableJobInput().withDescription("c").withMode(InputDeliveryMode.EVAL_MOUNT).withUri("d"))
                .withValidationDataSize(60.747284942704425D);
        model = BinaryData.fromObject(model).toObject(ImageClassificationMultilabel.class);
        Assertions.assertEquals(LogVerbosity.DEBUG, model.logVerbosity());
        Assertions.assertEquals("rjajqmatxjtie", model.targetColumnName());
        Assertions.assertEquals("lpqagyn", model.trainingData().description());
        Assertions.assertEquals(InputDeliveryMode.DIRECT, model.trainingData().mode());
        Assertions.assertEquals("qgxxgfbb", model.trainingData().uri());
        Assertions.assertEquals(ClassificationMultilabelPrimaryMetrics.AUCWEIGHTED, model.primaryMetric());
        Assertions.assertEquals("bjkdtfohf", model.modelSettings().advancedSettings());
        Assertions.assertEquals(true, model.modelSettings().amsGradient());
        Assertions.assertEquals("vkiwrsiwdyjqu", model.modelSettings().augmentations());
        Assertions.assertEquals(22.829306F, model.modelSettings().beta1());
        Assertions.assertEquals(15.07703F, model.modelSettings().beta2());
        Assertions.assertEquals(405607966, model.modelSettings().checkpointFrequency());
        Assertions.assertEquals("dac", model.modelSettings().checkpointModel().description());
        Assertions.assertEquals(InputDeliveryMode.EVAL_MOUNT, model.modelSettings().checkpointModel().mode());
        Assertions.assertEquals("kcsueho", model.modelSettings().checkpointModel().uri());
        Assertions.assertEquals("bgydlqidywm", model.modelSettings().checkpointRunId());
        Assertions.assertEquals(true, model.modelSettings().distributed());
        Assertions.assertEquals(false, model.modelSettings().earlyStopping());
        Assertions.assertEquals(750629994, model.modelSettings().earlyStoppingDelay());
        Assertions.assertEquals(1002138354, model.modelSettings().earlyStoppingPatience());
        Assertions.assertEquals(false, model.modelSettings().enableOnnxNormalization());
        Assertions.assertEquals(1214590834, model.modelSettings().evaluationFrequency());
        Assertions.assertEquals(1690234008, model.modelSettings().gradientAccumulationStep());
        Assertions.assertEquals(541884766, model.modelSettings().layersToFreeze());
        Assertions.assertEquals(83.81946F, model.modelSettings().learningRate());
        Assertions.assertEquals(LearningRateScheduler.NONE, model.modelSettings().learningRateScheduler());
        Assertions.assertEquals("fnqt", model.modelSettings().modelName());
        Assertions.assertEquals(10.774154F, model.modelSettings().momentum());
        Assertions.assertEquals(false, model.modelSettings().nesterov());
        Assertions.assertEquals(1583628489, model.modelSettings().numberOfEpochs());
        Assertions.assertEquals(10545664, model.modelSettings().numberOfWorkers());
        Assertions.assertEquals(StochasticOptimizer.ADAMW, model.modelSettings().optimizer());
        Assertions.assertEquals(645986055, model.modelSettings().randomSeed());
        Assertions.assertEquals(13.888711F, model.modelSettings().stepLRGamma());
        Assertions.assertEquals(1004373323, model.modelSettings().stepLRStepSize());
        Assertions.assertEquals(1424628175, model.modelSettings().trainingBatchSize());
        Assertions.assertEquals(1893405653, model.modelSettings().validationBatchSize());
        Assertions.assertEquals(73.06933F, model.modelSettings().warmupCosineLRCycles());
        Assertions.assertEquals(669991542, model.modelSettings().warmupCosineLRWarmupEpochs());
        Assertions.assertEquals(8.02623F, model.modelSettings().weightDecay());
        Assertions.assertEquals(417240457, model.modelSettings().trainingCropSize());
        Assertions.assertEquals(789963505, model.modelSettings().validationCropSize());
        Assertions.assertEquals(69598333, model.modelSettings().validationResizeSize());
        Assertions.assertEquals(1308483372, model.modelSettings().weightedLoss());
        Assertions.assertEquals("bfununmpzkrv", model.searchSpace().get(0).amsGradient());
        Assertions.assertEquals("ifkdschlzvf", model.searchSpace().get(0).augmentations());
        Assertions.assertEquals("tnkjjwgcwnphb", model.searchSpace().get(0).beta1());
        Assertions.assertEquals("fyrtogmhmjp", model.searchSpace().get(0).beta2());
        Assertions.assertEquals("cdf", model.searchSpace().get(0).distributed());
        Assertions.assertEquals("qwtygevgwmseharx", model.searchSpace().get(0).earlyStopping());
        Assertions.assertEquals("vqnrxtmbpj", model.searchSpace().get(0).earlyStoppingDelay());
        Assertions.assertEquals("nvwjhrsidqpxl", model.searchSpace().get(0).earlyStoppingPatience());
        Assertions.assertEquals("pakftngatwm", model.searchSpace().get(0).enableOnnxNormalization());
        Assertions.assertEquals("yutrymd", model.searchSpace().get(0).evaluationFrequency());
        Assertions.assertEquals("fj", model.searchSpace().get(0).gradientAccumulationStep());
        Assertions.assertEquals("y", model.searchSpace().get(0).layersToFreeze());
        Assertions.assertEquals("jqdvdwkqpldrlefg", model.searchSpace().get(0).learningRate());
        Assertions.assertEquals("avuagnteta", model.searchSpace().get(0).learningRateScheduler());
        Assertions.assertEquals("tnpdctuhspfefy", model.searchSpace().get(0).modelName());
        Assertions.assertEquals("duyeuyl", model.searchSpace().get(0).momentum());
        Assertions.assertEquals("hmtybkcgsuthhll", model.searchSpace().get(0).nesterov());
        Assertions.assertEquals("wynefx", model.searchSpace().get(0).numberOfEpochs());
        Assertions.assertEquals("lf", model.searchSpace().get(0).numberOfWorkers());
        Assertions.assertEquals("atxtjrrlkmdskjhh", model.searchSpace().get(0).optimizer());
        Assertions.assertEquals("lajfoxcxscvslxlh", model.searchSpace().get(0).randomSeed());
        Assertions.assertEquals("vkrmukmyjmkx", model.searchSpace().get(0).stepLRGamma());
        Assertions.assertEquals("tcsloj", model.searchSpace().get(0).stepLRStepSize());
        Assertions.assertEquals("qid", model.searchSpace().get(0).trainingBatchSize());
        Assertions.assertEquals("toqxjh", model.searchSpace().get(0).validationBatchSize());
        Assertions.assertEquals("csqhtkbtnqlrng", model.searchSpace().get(0).warmupCosineLRCycles());
        Assertions.assertEquals("mbiipsnawwlqk", model.searchSpace().get(0).warmupCosineLRWarmupEpochs());
        Assertions.assertEquals("xhhllxricct", model.searchSpace().get(0).weightDecay());
        Assertions.assertEquals("x", model.searchSpace().get(0).trainingCropSize());
        Assertions.assertEquals("vmywhsbrcarycsjj", model.searchSpace().get(0).validationCropSize());
        Assertions.assertEquals("voaqajuvehzptdmk", model.searchSpace().get(0).validationResizeSize());
        Assertions.assertEquals("bhmpfulubefgybp", model.searchSpace().get(0).weightedLoss());
        Assertions.assertEquals(2077569332, model.limitSettings().maxConcurrentTrials());
        Assertions.assertEquals(49498731, model.limitSettings().maxTrials());
        Assertions.assertEquals(Duration.parse("PT39H45M28S"), model.limitSettings().timeout());
        Assertions.assertEquals(1996640929, model.sweepSettings().earlyTermination().delayEvaluation());
        Assertions.assertEquals(1459369662, model.sweepSettings().earlyTermination().evaluationInterval());
        Assertions.assertEquals(SamplingAlgorithmType.BAYESIAN, model.sweepSettings().samplingAlgorithm());
        Assertions.assertEquals("c", model.validationData().description());
        Assertions.assertEquals(InputDeliveryMode.EVAL_MOUNT, model.validationData().mode());
        Assertions.assertEquals("d", model.validationData().uri());
        Assertions.assertEquals(60.747284942704425D, model.validationDataSize());
    }
}
