Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Errno 36] File name too long exception when running predict #3927

Open
karamata opened this issue Feb 9, 2024 · 2 comments
Open

[Errno 36] File name too long exception when running predict #3927

karamata opened this issue Feb 9, 2024 · 2 comments

Comments

@karamata
Copy link

karamata commented Feb 9, 2024

I face this problem, but don't know how to by pass, anyone help me please

...
OSError                                   Traceback (most recent call last)
[<ipython-input-4-fc68552c3e50>](https://localhost:8080/#) in <cell line: 145>()
    143 )
    144 
--> 145 predictions, prediction_results = model.predict(dataset=eval_df, skip_save_predictions=False, output_directory="predictions")
    146 
    147 predictions.head()

9 frames
[/usr/local/lib/python3.10/dist-packages/fsspec/implementations/local.py](https://localhost:8080/#) in _open(self)
    318         if self.f is None or self.f.closed:
    319             if self.autocommit or "w" not in self.mode:
--> 320                 self.f = open(self.path, mode=self.mode)
    321                 if self.compression:
    322                     compress = compr[self.compression]

OSError: [Errno 36] File name too long: '/content/predictions/product_name_probabilities_Ống_thoát_nước__xifong__dùng_cho_chậu_rửa_trong_nhà_bếp___nắp_ống_bằng_inox__thân_ống_và_đường_ống_bằng_nhựa__lõi_ống_dẫn_bằng_thép__bộ_gồm_nắp_đậy__ống_dẫn__khớp_nối__hàng_mới_100.csv'
@arnavgarg1
Copy link
Contributor

Hi @karamata! Are you able to share the code you're using to generate predictions? It seems like product_name_probabilities_Ống_thoát_nước__xifong__dùng_cho_chậu_rửa_trong_nhà_bếp___nắp_ống_bằng_inox__thân_ống_và_đường_ống_bằng_nhựa__lõi_ống_dẫn_bằng_thép__bộ_gồm_nắp_đậy__ống_dẫn__khớp_nối__hàng_mới_100.csv is too big of a file name and the error is not coming from Ludwig, but the host machine since it's an Errno 36.

@karamata
Copy link
Author

Hi @karamata! Are you able to share the code you're using to generate predictions? It seems like product_name_probabilities_Ống_thoát_nước__xifong__dùng_cho_chậu_rửa_trong_nhà_bếp___nắp_ống_bằng_inox__thân_ống_và_đường_ống_bằng_nhựa__lõi_ống_dẫn_bằng_thép__bộ_gồm_nắp_đậy__ống_dẫn__khớp_nối__hàng_mới_100.csv is too big of a file name and the error is not coming from Ludwig, but the host machine since it's an Errno 36.

Hi @arnavgarg1, pls see my code base below, and this code I running on colab

config = {
  "input_features": [
    {
      "name": "col1",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "drop_row"
      },
    },
    {
      "name": "col2",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "drop_row"
      },
    },
    {
      "name": "col3",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "drop_row"
      },
    },
    {
      "name": "col4",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "drop_row"
      },
    },
    {
      "name": "col5",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "drop_row"
      },
    },
    {
      "name": "col6",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "fill_with_const",
        "fill_value": "",
      },
    },
    {
      "name": "col7",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "fill_with_const",
        "fill_value": "",
      },
    },
    {
      "name": "col8",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "fill_with_const",
        "fill_value": "",
      },
    },
    {
      "name": "col9",
      "type": "sequence",
      "preprocessing": {
        "encoder": {
          "type": "embed",
          "reduce_output": None,
        },
      },
    },
  ],
  "output_features": [
    {
      "name": "product_name",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "drop_row"
      },
    },
    {
      "name": "product_type",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "fill_with_const",
        "fill_value": "",
      },
    },
    {
      "name": "output1",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "fill_with_const",
        "fill_value": "",
      },
    },
    {
      "name": "output2",
      "type": "category",
      "preprocessing": {
        "missing_value_strategy": "fill_with_const",
        "fill_value": "",
      },
    },
  ],
  "trainer": {
    "epochs": 2,
    "batch_size": 512,
    "max_batch_size": 512,
    "learning_rate": 0.01,
    "use_mixed_precision": True,
  }
}

dataset = dataset.sample(frac=1).reset_index()

train_df, test_df = train_test_split(dataset, train_size=0.9)

model = LudwigModel(config=config, logging_level=logging.INFO)

train_stats, preprocessed_data, output_directory = model.train(training_set=train_df, test_set=test_df)

np.random.seed(13)
eval_df = test_df.sample(n=1000)

test_stats, predictions, output_directory = model.evaluate(
  eval_df,
  collect_predictions=True,
  collect_overall_stats=True,
  # skip_save_eval_stats=True,
  # skip_save_predictions=True,
  # output_directory="test_results",
  # return_type="dict"
)

predictions, prediction_results = model.predict(dataset=eval_df)

predictions.head()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants