安装问题与';lr#u utils';用python
我正在努力完成DeepLearning.ai课程作业中的一些家庭作业 当我在Coursera平台上尝试作业时,一切正常,但是当我尝试在本地机器上执行相同的安装问题与';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”不是官方图书馆或类似的
导入操作时,会出现错误
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))