Code Interface
Requirement
Your submission needs to provide at least three components: imports, train(), and infer().
imports: As with any script, if your solution has dependencies on external packages be sure to import them. The system will automatically install your dependencies. Make sure that you only use packages that are whitelisted.train(): In the training function, users build and train the model to make inferences on the test data. The model must be stored in theresources/directory.infer(): In the inference function, the trained model is loaded and used to make inferences on a sample of data that matches the characteristics of the training test.
Dynamic Parameters
If required, parameters can also be queried by name:
If the name does not exist,
Noneis used.If a default value is specified, the value is retained (useful for local testing).
Typing is always ignored, so make sure it is correct.
They can be used in both the train() and the infer() functions:
def train(
X_train: pandas.DataFrame,
y_train: pandas.DataFrame,
has_gpu: bool,
embargo: int,
my_custom_value=42, # user specified
) -> None
def infer(
X_test: pandas.DataFrame,
model_directory_path: str,
) -> pandas.DataFrameContainers
Some competitions will provide special objects as parameters that have unique behaviors of which you should be aware of.
Iterable vs Iterator
An iterator can be iterated many times, whereas an iterator can only be consumed once. (learn more)
The difference is subtle, but really important:
The
train()function is called once, but can consume the streams as many times as necessaryThe
infer()function is called only once per stream, and there is no going back
Last updated
Was this helpful?