我使用Azure ML Studio
通过创建数据资产test5
从csv文件中读取数据,并将数据写入当前工作目录的csv文件中(这是失败的)。我正在提交一个使用Compute Cluster
和Custom Environment
的作业,并遵循这教程中的说明。
我在笔记本上写了代码如下:
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
ml_client = MLClient(
credential=credential,
subscription_id="abc",
resource_group_name="xyz",
workspace_name="pqr",
)
from azure.ai.ml import command
from azure.ai.ml import Input
registered_model_name = "read_data"
env_name = "docker-context"
job = command(inputs=dict(data=Input(type="uri_file",path="azureml:test5:1",),
registered_model_name=registered_model_name
),
code="./src/",g
command="python main.py --data ${<!-- -->{inputs.data}} --registered_model_name ${<!-- -->{inputs.registered_model_name}}",
environment="docker-context:10",
compute="amlcluster01",
experiment_name="read_data1",
display_name="read_data2",
)
ml_client.create_or_update(job)
这个很好用。main.py
文件的内容是:
import os
import argparse
import pandas as pd
def main():
print("Hello")
# input and output arguments
parser = argparse.ArgumentParser()
parser.add_argument("--data", type=str, help="path to input data")
parser.add_argument("--registered_model_name", type=str, help="model name")
args = parser.parse_args()
print(" ".join(f"{k}={v}" for k, v in vars(args).items()))
print("input data:", args.data)
read_data=pd.read_csv(args.data)
#read_data=pd.read_parquet(args.data, engine='pyarrow')
#credit_df = pd.read_excel(args.data, header=1, index_col=0)
print(read_data)
read_data.to_csv(r'/home/azureuser/cloudfiles/code/Users/Ankit19.Gupta/azureml-in-a-day/src/file3.csv')
print("Hello World !")
if __name__ == "__main__":
main()
在这里,除了read_data.to_csv(r'/home/azureuser/cloudfiles/code/Users/Ankit19.Gupta/azureml-in-a-day/src/file3.csv')
之外,所有代码行都工作得很好。
它将错误消息显示为:OSError: Cannot save file into a non-existent directory:/home/azureuser/cloudfiles/code/Users/Ankit19.Gupta/azureml-in-a-day/src
。
请任何人帮助我如何将数据存储到csv文件中,通过作业将其保存到我当前的工作目录。任何帮助都将不胜感激。
编辑:当我用read_data.to_csv(r'/home/azureuser/cloudfiles/code/Users/Ankit19.Gupta/azureml-in-a-day/src/file3.csv')
替换read_data.to_csv(r'/home/azureuser/cloudfiles/code/Users/Ankit19.Gupta/azureml-in-a-day/src/file3.csv')
时,msamsami的提到了答案中的代码
file_path = os.path.join(os.getcwd(), 'file3.csv')
read_data.to_csv(file_path)
print(f"read_data saved to {file_path}")
我得到上述打印语句的以下输出:
read_data saved to /mnt/azureml/cr/j/28bec1ee580a400894b48e5d8576f6ca/exe/wd/file3.csv
发布于 2022-10-22 11:40:50
错误告诉您,您希望将CSV保存到的目录不存在。因此,为了确保一切都是正确的,您应该确保在"Ankit19.Gupta“下有一个”每天都有azureml“文件夹,在”azureml“下的"src”也是这样。
此外,尝试如下:
import os
...
file_path = os.path.join(os.getcwd(), 'file3.csv')
read_data.to_csv(file_path)
print(f"read_data saved to {file_path}")
https://stackoverflow.com/questions/74163156
复制相似问题