安装问题与';lr#u utils';用python

安装问题与';lr#u utils';用python,python,deep-learning,Python,Deep Learning,我正在努力完成DeepLearning.ai课程作业中的一些家庭作业 当我在Coursera平台上尝试作业时,一切正常,但是当我尝试在本地机器上执行相同的导入操作时,会出现错误 ModuleNotFoundError: No module named 'lr_utils' 我已尝试通过安装lr\u utils来解决此问题,但没有效果 网上没有提到这个模块,现在我开始怀疑这是否是deeplearning.ai的专利 或者我们可以用其他方式解决这个问题吗?“lr_utils”不是官方图书馆或类似的

我正在努力完成DeepLearning.ai课程作业中的一些家庭作业

当我在Coursera平台上尝试作业时,一切正常,但是当我尝试在本地机器上执行相同的
导入操作时,会出现错误

ModuleNotFoundError: No module named 'lr_utils'
我已尝试通过安装
lr\u utils
来解决此问题,但没有效果

网上没有提到这个模块,现在我开始怀疑这是否是
deeplearning.ai
的专利

或者我们可以用其他方式解决这个问题吗?

“lr_utils”不是官方图书馆或类似的东西。 “lr_utils”的目的是获取课程所需的数据集

  • 选项(对我不起作用):

    • 我在从提供的url获取数据时遇到了问题(但至少您可以尝试运行它,也许它会工作)
  • 选项(对我有用):在评论中(在同一页),有手动下载dataset和“lr_utils.py”的链接,因此它们是:

    • 请记住在下载数据集时提取数据集,并且必须将数据集文件夹和“lr_utils.py”与使用它的python脚本(带有此行“import lr_utils”的脚本)放在同一文件夹中

  • 从上面的答案下载数据集

    并使用此代码(比上述代码更好,因为它在使用后会关闭文件):


    如上所述,lr_utils是深度学习课程的一部分,是下载数据集的实用工具。它应该可以很容易地与课程的付费版本一起使用,但如果您“丢失”了对它的访问,我注意到这个github项目有lr_utils.py以及一些数据集

    注:
    当我看到中国网站的链接时,这些链接不起作用。可能存储文件的服务器已过期。我确实看到这个github项目有一些数据集以及lr_utils文件。

    您将能够找到分配所需的
    lr_utils.py
    和所有其他
    .py
    文件(以及其中的代码):

  • 转到第一个任务(即使用numpy的Python基础)-无论您是否是付费用户,都可以访问该任务

  • 然后单击上面菜单栏中的“打开””按钮。(见下图)

  • 然后,您可以直接在代码中包含模块的代码

  • 以下是从as@ThinkBonobo获取数据集的方法:

  • 编写一个lr_utils.py文件,如上面的answer@stationarytraveler,将其放入sys.path()目录中的任意一个

  • def load_数据集(): 将h5py.File('datasets/train_catvnoncat.h5',“r”)作为列数据集:

    !!!但请确保删除“dataset/”,因为现在数据文件的名称是train_catvnoncat.h5

  • 重启内核,祝你好运


  • 我可以补充一点,您可以将文件与lr_utils脚本一起保存在光盘上,并使用importlib util函数以以下方式将其作为模块导入。

    以下代码来自关于将函数从外部文件导入当前用户会话的常规线程:

    这是迄今为止我从Python中的不同文件中获取函数/方法的最方便的方法。
    我来自R后台,您只需调用一行函数source(),即可将外部脚本内容带入当前会话。

    下面是您的代码,只需保存名为“lr_utils.py”的文件,现在就可以使用它了

    import numpy as np
    import h5py
    def load_dataset():
    train_dataset = h5py.File('datasets/train_catvnoncat.h5', "r")
    train_set_x_orig = np.array(train_dataset["train_set_x"][:]) # your train set features
    train_set_y_orig = np.array(train_dataset["train_set_y"][:]) # your train set labels
    test_dataset = h5py.File('datasets/test_catvnoncat.h5', "r")
    test_set_x_orig = np.array(test_dataset["test_set_x"][:]) # your test set features
    test_set_y_orig = np.array(test_dataset["test_set_y"][:]) # your test set labels
    classes = np.array(test_dataset["list_classes"][:]) # the list of classes
    train_set_y_orig = train_set_y_orig.reshape((1, train_set_y_orig.shape[0]))
    test_set_y_orig = test_set_y_orig.reshape((1, test_set_y_orig.shape[0]))
    return train_set_x_orig, train_set_y_orig, test_set_x_orig, test_set_y_orig, classes
    
    如果代码文件找不到新创建的lr_utils.py文件,请编写以下代码:

    import sys
    sys.path.append("full path of the directory where you saved Ir_utils.py file")
    

    上面的答案没有帮助,一些链接已经过期

    因此,lr_utils不是pip库,而是与CourseEra网站位于同一笔记本中的文件

    您可以单击“打开”,它将打开资源管理器,您可以在其中下载希望在其他环境中运行的所有内容


    (我在浏览器上使用了它。)

    我解决这个问题的方法是:

  • 单击文件->打开->您将看到lr_utils.py文件(无论您是否拥有课程的付费/免费版本)
  • 在Jupyter笔记本中打开lr_utils.py文件,然后单击文件->下载(将其存储在您自己的文件夹中),重新运行导入模块。它会像魔法一样工作
  • 我对数据集文件夹执行了相同的过程

  • 这就是我解决我的问题的方法,我复制了lir_utils文件并将其粘贴到我的笔记本中,然后通过压缩文件并提取数据来下载数据集。使用以下代码。注意:在coursera笔记本上运行代码,并仅选择要下载目录中的压缩文件

    !pip install zipfile36
    
    zf = zipfile.ZipFile('datasets/train_catvnoncat_h5.zip', mode='w')
    
    try:
    
        zf.write('datasets/train_catvnoncat.h5')
    
        zf.write('datasets/test_catvnoncat.h5')
    
    finally:
    
        zf.close()
    
    
    

    我可以直接从coursera页面下载数据集

    打开Coursera笔记本后,进入文件->打开,将显示以下窗口:


    此时将显示笔记本和数据集,您可以转到“数据集”文件夹并下载作业所需的数据。软件包lr_utils.py也可下载。

    您可以在此处直接下载列车和测试数据集:

    您需要在开头添加以下代码:

        import numpy as np
        import h5py
        import os      
    
    def load_dataset():
        train_dataset = h5py.File('datasets/train_catvnoncat.h5', "r")
        train_set_x_orig = np.array(train_dataset["train_set_x"][:]) # your train set features
        train_set_y_orig = np.array(train_dataset["train_set_y"][:]) # your train set labels
    
        test_dataset = h5py.File('datasets/test_catvnoncat.h5', "r")
        test_set_x_orig = np.array(test_dataset["test_set_x"][:]) # your test set features
        test_set_y_orig = np.array(test_dataset["test_set_y"][:]) # your test set labels
    
        classes = np.array(test_dataset["list_classes"][:]) # the list of classes
        
        train_set_y_orig = train_set_y_orig.reshape((1, train_set_y_orig.shape[0]))
        test_set_y_orig = test_set_y_orig.reshape((1, test_set_y_orig.shape[0]))
        
        return train_set_x_orig, train_set_y_orig, test_set_x_orig, test_set_y_orig, classes
    
    我遇到了类似的问题,我遵循了以下步骤: 1.导入以下库
    
    
    2.从以下任一链接下载列车_catvnoncat.h5和测试_catvnoncat.h5: [https://github.com/berkayalan/Neural-Networks-and-Deep-Learning/tree/master/datasets] 或 [https://github.com/JudasDie/deeplearning.ai/tree/master/Improving%20Deep%20Neural%20Networks/Week1/Regularization/datasets]

    3.创建一个名为dataset的文件夹,并将这两个文件粘贴到此文件夹中。 [注意:数据集文件夹和源代码文件应位于同一目录]

    4.运行以下代码
    
    
    5.加载数据:
    
    
    检查数据
    !pip install zipfile36
    
    zf = zipfile.ZipFile('datasets/train_catvnoncat_h5.zip', mode='w')
    
    try:
    
        zf.write('datasets/train_catvnoncat.h5')
    
        zf.write('datasets/test_catvnoncat.h5')
    
    finally:
    
        zf.close()
    
    
    
        import numpy as np
        import h5py
        import os      
    
    def load_dataset():
        train_dataset = h5py.File('datasets/train_catvnoncat.h5', "r")
        train_set_x_orig = np.array(train_dataset["train_set_x"][:]) # your train set features
        train_set_y_orig = np.array(train_dataset["train_set_y"][:]) # your train set labels
    
        test_dataset = h5py.File('datasets/test_catvnoncat.h5', "r")
        test_set_x_orig = np.array(test_dataset["test_set_x"][:]) # your test set features
        test_set_y_orig = np.array(test_dataset["test_set_y"][:]) # your test set labels
    
        classes = np.array(test_dataset["list_classes"][:]) # the list of classes
        
        train_set_y_orig = train_set_y_orig.reshape((1, train_set_y_orig.shape[0]))
        test_set_y_orig = test_set_y_orig.reshape((1, test_set_y_orig.shape[0]))
        
        return train_set_x_orig, train_set_y_orig, test_set_x_orig, test_set_y_orig, classes
    
    import numpy as np
    import matplotlib.pyplot as plt
    import h5py
    import scipy
    from PIL import Image
    from scipy import ndimage
    
    def load_dataset():
    
        with h5py.File('datasets1/train_catvnoncat.h5', "r") as train_dataset:
            train_set_x_orig = np.array(train_dataset["train_set_x"][:])
            train_set_y_orig = np.array(train_dataset["train_set_y"][:])
    
        with h5py.File('datasets1/test_catvnoncat.h5', "r") as test_dataset:
            test_set_x_orig = np.array(test_dataset["test_set_x"][:])
            test_set_y_orig = np.array(test_dataset["test_set_y"][:])
            classes = np.array(test_dataset["list_classes"][:])
    
        train_set_y_orig = train_set_y_orig.reshape((1, train_set_y_orig.shape[0]))
        test_set_y_orig = test_set_y_orig.reshape((1, test_set_y_orig.shape[0]))
    
        return train_set_x_orig, train_set_y_orig, test_set_x_orig, test_set_y_orig, classes
    
    train_set_x_orig, train_set_y, test_set_x_orig, test_set_y, classes = load_dataset()
    
    print(len(train_set_x_orig))
    print(len(test_set_x_orig))