取消
顯示的結果
而不是尋找
你的意思是:

測井模型MLflow使用特性存儲API。TypeError:加入()參數必須str,字節,或操作係統。PathLike對象,而不是“東西”

zachclem
新的貢獻者三世

我用磚。試圖日誌模型MLflow使用特性存儲log_model函數。但是我有這個錯誤:TypeError:加入()參數必須str,字節,或操作係統。PathLike對象,而不是“東西”I'am using the Databricks runtime ml (10.4 LTS ML (includes Apache Spark 3.2.1, Scala 2.12)).

fs。log_model(模型、artifact_path =“fs_model”,味道= mlflow。sklearn training_set = training_set)

這是錯誤日誌。

TypeError:加入()參數必須str,字節,或操作係統。PathLike對象,而不是“東西”--------------------------------------------------------------------------- TypeError Traceback (most recent call last) 62 if __name__ == "__main__": 63 job = ModelTrainJob() ---> 64 job.launch() /tmp/tmp51ge7k75.py in launch(self) 56 env_vars=self.env_vars, 57 ) ---> 58 ModelTrain(cfg).run() 59 _logger.info("ModelTrainJob job finished!") 60 /databricks/python/lib/python3.8/site-packages/customer_churn/objects/model_train.py in run(self) 215 # Log model using Feature Store API 216 _logger.info("Logging model to MLflow using Feature Store API") --> 217 fs.log_model( 218 model, 219 artifact_path="fs_model", /databricks/.python_edge_libs/databricks/feature_store/client.py in log_model(self, model, artifact_path, flavor, training_set, registered_model_name, await_registration_for, **kwargs) 2106 # the databricks-feature-store package is not available via conda or pip. 2107 conda_file = raw_mlflow_model.flavors["python_function"][mlflow.pyfunc.ENV] -> 2108 conda_env = read_yaml(raw_model_path, conda_file) 2109 2110 # Get the pip package string for the databricks-feature-lookup client /databricks/python/lib/python3.8/site-packages/mlflow/utils/file_utils.py in read_yaml(root, file_name) 210 ) 211 --> 212 file_path = os.path.join(root, file_name) 213 if not exists(file_path): 214 raise MissingConfigException("Yaml file '%s' does not exist." % file_path) /usr/lib/python3.8/posixpath.py in join(a, *p) 88 path += sep + b 89 except (TypeError, AttributeError, BytesWarning): ---> 90 genericpath._check_arg_types('join', a, *p) 91 raise 92 return path /usr/lib/python3.8/genericpath.py in _check_arg_types(funcname, *args) 150 hasbytes = True 151 else: --> 152 raise TypeError(f'{funcname}() argument must be str, bytes, or ' 153 f'os.PathLike object, not {s.__class__.__name__!r}') from None 154 if hasstr and hasbytes: TypeError: join() argument must be str, bytes, or os.PathLike object, not 'dict'

1接受解決方案

接受的解決方案

zachclem
新的貢獻者三世

我更新數據磚運行時間從10.4到12.1,這解決了這個問題。

在原帖子查看解決方案

2回答2

匿名
不適用

@ZacharyHuh:

錯誤消息表明os.path.join()函數是期待一個字符串,字節或操作係統。PathLike對象,但它收到了一本詞典。具體來說,錯誤似乎是來自羅切斯特理工學院的航拍的樣子時發生錯誤MLflow試圖讀取YAML文件相關的模型。具體來說,在mlflow.utils read_yaml函數。file_utils模塊拋出錯誤,因為它的預期路徑字符串,而是接受一個字典對象。

修複這個錯誤,您可能想要檢查你傳遞fs.log_model的模型對象。有可能在這個對象有一個字典導致這個問題。您可能需要修改模型對象,以確保它隻包含字符串,字節,或操作係統。PathLike對象。

希望這可以幫助!否則請刃我們。

zachclem
新的貢獻者三世

我更新數據磚運行時間從10.4到12.1,這解決了這個問題。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map