{
  "id": 542641,
  "title": "How To Submit Via Jane Street Inference Server?",
  "url": "/competitions/jane-street-real-time-market-data-forecasting/discussion/542641",
  "author_name": "",
  "post_date": "2024-10-26T01:33:21.262215500Z",
  "votes": 1,
  "comment_count": 1,
  "views": 0,
  "content": "<p>This might be too simple a question but how do you submit using Jane Street's given function?</p>\n<p>I loaded my packages and my model, before running the following:</p>\n<pre><code>lags_ : pl.DataFrame |  = \n\n\n\n\n\n () -&gt; pl.DataFrame | pd.DataFrame:\n    \n    \n    \n     lags_\n     lags   :\n        lags_ = lags\n\n    features = [  i  ()]\n    X_test = test.select(features).to_pandas()\n    y_pred = model.predict(X_test)\n\n    predictions = test.select(\n        ,\n        pl.lit().alias(),\n    )\n\n    predictions = predictions.with_columns(\n        pl.Series(name=, values=y_pred)\n    )\n\n    \n     (predictions, pl.DataFrame | pd.DataFrame)\n    \n     predictions.columns == [, ]\n    \n     (predictions) == (test)\n\n     predictions\n\ninference_server = kaggle_evaluation.jane_street_inference_server.JSInferenceServer(predict)\n\n os.getenv():\n    inference_server.serve()\n:\n    inference_server.run_local_gateway(\n        (\n            ,\n            ,\n        )\n    )\n</code></pre>\n<p>However, for some reason nothing happens after I've run it. I am using a Kaggle kernel already. <br>\nAny help is appreciated. Thank you all :)</p>",
  "messages": [
    {
      "id": "3028373",
      "postDate": "10/26/2024 01:33:21",
      "content": "<p>This might be too simple a question but how do you submit using Jane Street's given function?</p>\n<p>I loaded my packages and my model, before running the following:</p>\n<pre><code>lags_ : pl.DataFrame |  = \n\n\n\n\n\n () -&gt; pl.DataFrame | pd.DataFrame:\n    \n    \n    \n     lags_\n     lags   :\n        lags_ = lags\n\n    features = [  i  ()]\n    X_test = test.select(features).to_pandas()\n    y_pred = model.predict(X_test)\n\n    predictions = test.select(\n        ,\n        pl.lit().alias(),\n    )\n\n    predictions = predictions.with_columns(\n        pl.Series(name=, values=y_pred)\n    )\n\n    \n     (predictions, pl.DataFrame | pd.DataFrame)\n    \n     predictions.columns == [, ]\n    \n     (predictions) == (test)\n\n     predictions\n\ninference_server = kaggle_evaluation.jane_street_inference_server.JSInferenceServer(predict)\n\n os.getenv():\n    inference_server.serve()\n:\n    inference_server.run_local_gateway(\n        (\n            ,\n            ,\n        )\n    )\n</code></pre>\n<p>However, for some reason nothing happens after I've run it. I am using a Kaggle kernel already. <br>\nAny help is appreciated. Thank you all :)</p>",
      "rawMarkdown": "This might be too simple a question but how do you submit using Jane Street's given function?\n\nI loaded my packages and my model, before running the following:\n\n```python\nlags_ : pl.DataFrame | None = None\n\n\n# Replace this function with your inference code.\n# You can return either a Pandas or Polars dataframe, though Polars is recommended.\n# Each batch of predictions (except the very first) must be returned within 1 minute of the batch features being provided.\ndef predict(test: pl.DataFrame, lags: pl.DataFrame | None) -> pl.DataFrame | pd.DataFrame:\n    \"\"\"Make a prediction.\"\"\"\n    # All the responders from the previous day are passed in at time_id == 0. We save them in a global variable for access at every time_id.\n    # Use them as extra features, if you like.\n    global lags_\n    if lags is not None:\n        lags_ = lags\n        \n    features = [f\"feature_{i:02d}\" for i in range(79)]\n    X_test = test.select(features).to_pandas()\n    y_pred = model.predict(X_test)\n\n    predictions = test.select(\n        'row_id',\n        pl.lit(0.0).alias('responder_6'),\n    )\n    \n    predictions = predictions.with_columns(\n        pl.Series(name='responder_6', values=y_pred)\n    )\n\n    # The predict function must return a DataFrame\n    assert isinstance(predictions, pl.DataFrame | pd.DataFrame)\n    # with columns 'row_id', 'responer_6'\n    assert predictions.columns == ['row_id', 'responder_6']\n    # and as many rows as the test data.\n    assert len(predictions) == len(test)\n\n    return predictions\n\ninference_server = kaggle_evaluation.jane_street_inference_server.JSInferenceServer(predict)\n\nif os.getenv('KAGGLE_IS_COMPETITION_RERUN'):\n    inference_server.serve()\nelse:\n    inference_server.run_local_gateway(\n        (\n            '/kaggle/input/jane-street-real-time-market-data-forecasting/test.parquet',\n            '/kaggle/input/jane-street-real-time-market-data-forecasting/lags.parquet',\n        )\n    )\n```\n\nHowever, for some reason nothing happens after I've run it. I am using a Kaggle kernel already. \nAny help is appreciated. Thank you all :)",
      "votes": null
    },
    {
      "id": "3033230",
      "postDate": "11/01/2024 00:00:28",
      "content": "<p>have you find out the solution? I keep getting notebook threw exception error and am quite confused right now</p>",
      "rawMarkdown": "have you find out the solution? I keep getting notebook threw exception error and am quite confused right now",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 3033230,
      "author_name": "rivuletnriver",
      "author_url": "",
      "post_date": "11/01/2024 00:00:28",
      "content": "<p>have you find out the solution? I keep getting notebook threw exception error and am quite confused right now</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "3028373": "This might be too simple a question but how do you submit using Jane Street's given function?\n\nI loaded my packages and my model, before running the following:\n\n```python\nlags_ : pl.DataFrame | None = None\n\n\n# Replace this function with your inference code.\n# You can return either a Pandas or Polars dataframe, though Polars is recommended.\n# Each batch of predictions (except the very first) must be returned within 1 minute of the batch features being provided.\ndef predict(test: pl.DataFrame, lags: pl.DataFrame | None) -> pl.DataFrame | pd.DataFrame:\n    \"\"\"Make a prediction.\"\"\"\n    # All the responders from the previous day are passed in at time_id == 0. We save them in a global variable for access at every time_id.\n    # Use them as extra features, if you like.\n    global lags_\n    if lags is not None:\n        lags_ = lags\n        \n    features = [f\"feature_{i:02d}\" for i in range(79)]\n    X_test = test.select(features).to_pandas()\n    y_pred = model.predict(X_test)\n\n    predictions = test.select(\n        'row_id',\n        pl.lit(0.0).alias('responder_6'),\n    )\n    \n    predictions = predictions.with_columns(\n        pl.Series(name='responder_6', values=y_pred)\n    )\n\n    # The predict function must return a DataFrame\n    assert isinstance(predictions, pl.DataFrame | pd.DataFrame)\n    # with columns 'row_id', 'responer_6'\n    assert predictions.columns == ['row_id', 'responder_6']\n    # and as many rows as the test data.\n    assert len(predictions) == len(test)\n\n    return predictions\n\ninference_server = kaggle_evaluation.jane_street_inference_server.JSInferenceServer(predict)\n\nif os.getenv('KAGGLE_IS_COMPETITION_RERUN'):\n    inference_server.serve()\nelse:\n    inference_server.run_local_gateway(\n        (\n            '/kaggle/input/jane-street-real-time-market-data-forecasting/test.parquet',\n            '/kaggle/input/jane-street-real-time-market-data-forecasting/lags.parquet',\n        )\n    )\n```\n\nHowever, for some reason nothing happens after I've run it. I am using a Kaggle kernel already. \nAny help is appreciated. Thank you all :)",
    "3033230": "have you find out the solution? I keep getting notebook threw exception error and am quite confused right now"
  },
  "source": "meta"
}