【问题标题】:How to load data through argument parser in python?如何通过python中的参数解析器加载数据?
【发布时间】:2021-02-21 07:42:10
【问题描述】:

我无法将数据加载到代码中并对其进行解析。我附上以下代码

ap = argparse.ArgumentParser()
ap.add_argument("-a", "--az", required=True,
    help="path to A-Z dataset")
ap.add_argument("-m", "--model", type=str, required=True,
    help="path to output trained handwriting recognition model")
ap.add_argument("-p", "--plot", type=str, default="plot.png",
    help="path to output training history file")
args = vars(ap.parse_args())

上面的代码后面跟着下面的代码

# load the A-Z and MNIST datasets, respectively
print("[INFO] loading datasets...")
(azData, azLabels) = load_az_dataset(args["az"])
(digitsData, digitsLabels) = load_mnist_dataset()

我保存了数据、图像和模型

我的数据结构是这样的

.
├── a_z_handwritten_data.csv
├── handwriting.model
├── plot.png
├── train_ocr_model.ipynb
└── train_ocr_model.py

错误如下:

ap = argparse.ArgumentParser()
ap.add_argument("-a", "--az", required=True,
    help="path to A-Z dataset")
ap.add_argument("-m", "--model", type=str, required=True,
    help="path to output trained handwriting recognition model")
ap.add_argument("-p", "--plot", type=str, default="plot.png",
    help="path to output training history file")
    args = vars(ap.parse_args())

usage: ipykernel_launcher.py [-h] -a AZ -m MODEL [-p PLOT]
ipykernel_launcher.py: error: the following arguments are required: -a/--az, -m/--model
An exception has occurred, use %tb to see the full traceback.

SystemExit: 2

另一个错误是:

print("[INFO] loading datasets...")
(azData, azLabels) = load_az_dataset(r'a_z_handwritten_data.csv')
(digitsData, digitsLabels) = load_mnist_dataset()
[INFO] loading datasets...
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-6-1e649190daf8> in <module>
      4 
      5 print("[INFO] loading datasets...")
----> 6 (azData, azLabels) = pd.read_csv(r'a_z_handwritten_data.csv')
      7 (digitsData, digitsLabels) = load_mnist_dataset()

ValueError: too many values to unpack (expected 2)

【问题讨论】:

  • 您的方法似乎是有序的,那么真正的问题是什么?运行代码时是否有错误? (如果是,请提供错误),文件是空的吗? (如果是,请检查您是否可以将args["az"] 替换为您的直接路径,看看是否可行。因此,采取一些小步骤,首先验证load_az_dataset 是否适用于该路径。然后为该路径设置一个默认参数,最后删除默认参数并测试路径的终端输入。最后,如果您从不同的文件夹运行程序,请确保路径与运行脚本的位置相对。
  • 你能写下这段代码吗?那真的很有帮助。真的很难理解。
  • 我也提到了错误。请检查并帮助我。
  • 我给出了选项,但从错误看来,您的函数load_az_dataset 没有返回两个值(azData, azLabels) 的元组,而只返回一个值。打印函数的输出 (print(load_az_dataset(args['az']))) 并验证您的输出是否符合预期。

标签: python-3.x tensorflow computer-vision arguments ocr


【解决方案1】:

问题在于您的以下代码

(azData, azLabels) = load_az_dataset(r'a_z_handwritten_data.csv')

将上面的代码段替换为下面的代码。

hand_written_data = load_az_dataset(r'a_z_handwritten_data.csv')

然后这个问题将得到解决。访问以下链接以获取有关该错误的更多详细信息。 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

【讨论】:

    猜你喜欢
    • 2020-03-20
    • 2013-07-17
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 2019-04-08
    • 2019-11-01
    • 2020-09-14
    • 1970-01-01
    相关资源
    最近更新 更多