/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

A configuration for a shuffle option for input data in a channel. If you use * S3Prefix for S3DataType, the results of the S3 key * prefix matches are shuffled. If you use ManifestFile, the order of * the S3 object references in the ManifestFile is shuffled. If you * use AugmentedManifestFile, the order of the JSON lines in the * AugmentedManifestFile is shuffled. The shuffling order is * determined using the Seed value.

For Pipe input mode, when * ShuffleConfig is specified shuffling is done at the start of every * epoch. With large datasets, this ensures that the order of the training data is * different for each epoch, and it helps reduce bias and possible overfitting. In * a multi-node training job when ShuffleConfig is combined with * S3DataDistributionType of ShardedByS3Key, the data is * shuffled across nodes so that the content sent to a particular node on the first * epoch might be sent to a different node on the second epoch.

See * Also:

AWS * API Reference

*/ class ShuffleConfig { public: AWS_SAGEMAKER_API ShuffleConfig(); AWS_SAGEMAKER_API ShuffleConfig(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API ShuffleConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Determines the shuffling order in ShuffleConfig value.

*/ inline long long GetSeed() const{ return m_seed; } /** *

Determines the shuffling order in ShuffleConfig value.

*/ inline bool SeedHasBeenSet() const { return m_seedHasBeenSet; } /** *

Determines the shuffling order in ShuffleConfig value.

*/ inline void SetSeed(long long value) { m_seedHasBeenSet = true; m_seed = value; } /** *

Determines the shuffling order in ShuffleConfig value.

*/ inline ShuffleConfig& WithSeed(long long value) { SetSeed(value); return *this;} private: long long m_seed; bool m_seedHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws