亲爱的我正在为MNIST数据集运行第一个Azure教程。
它表示utils.py应该与代码位于同一文件夹中。我试图在myconda环境中安装python-utils,但这并不能解决问题。使用pip install utils之后,我宁愿让它变得更糟:-(
这可能很简单,但我被困住了。
您将如何在运行以下命令的笔记本上执行此操作:
我将Anaconda与运行Azure SDK和python 3.6的单独环境一起使用。
答案 0 :(得分:1)
根据您的描述,我认为MNIST数据集的第一个Azure教程是Tutorial: Train an image classification model with Azure Machine Learning service。
您可以通过本教程内的链接找到所有源代码,如下所示,位于here。
获取笔记本
为方便起见,本教程以Jupyter notebook的形式提供。在Azure笔记本或您自己的Jupyter笔记本服务器中运行
tutorials/img-classification-part1-training.ipynb
笔记本。
这是utils.py
的源代码。
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
import gzip
import numpy as np
import struct
# load compressed MNIST gz files and return numpy arrays
def load_data(filename, label=False):
with gzip.open(filename) as gz:
struct.unpack('I', gz.read(4))
n_items = struct.unpack('>I', gz.read(4))
if not label:
n_rows = struct.unpack('>I', gz.read(4))[0]
n_cols = struct.unpack('>I', gz.read(4))[0]
res = np.frombuffer(gz.read(n_items[0] * n_rows * n_cols), dtype=np.uint8)
res = res.reshape(n_items[0], n_rows * n_cols)
else:
res = np.frombuffer(gz.read(n_items[0]), dtype=np.uint8)
res = res.reshape(n_items[0], 1)
return res
# one-hot encode a 1-D array
def one_hot_encode(array, num_of_classes):
return np.eye(num_of_classes)[array.reshape(-1)]
如果要将其导入到Azure Jupyter Notebook中,请参见下面的步骤。
New
按钮并选择Blank File
。
utils.py
,然后按Enter
键。
Edit File
。
utils.py
的内容,然后单击Save File
。
import utils
,它可以工作。
# make sure utils.py is in the same directory as this code
的含义如下图。