- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
看完this并参加类(class),我正在努力解决作业 1 ( notMnist) 中的第二个问题:
Let's verify that the data still looks good. Displaying a sample of the labels and images from the ndarray. Hint: you can use matplotlib.pyplot.
这是我尝试过的:
import random
rand_smpl = [ train_datasets[i] for i in sorted(random.sample(xrange(len(train_datasets)), 1)) ]
print(rand_smpl)
filename = rand_smpl[0]
import pickle
loaded_pickle = pickle.load( open( filename, "r" ) )
image_size = 28 # Pixel width and height.
import numpy as np
dataset = np.ndarray(shape=(len(loaded_pickle), image_size, image_size),
dtype=np.float32)
import matplotlib.pyplot as plt
plt.plot(dataset[2])
plt.ylabel('some numbers')
plt.show()
但这就是我得到的:
这没有多大意义。老实说,我的代码也可能如此,因为我不确定如何解决这个问题!
泡菜是这样制作的:
image_size = 28 # Pixel width and height.
pixel_depth = 255.0 # Number of levels per pixel.
def load_letter(folder, min_num_images):
"""Load the data for a single letter label."""
image_files = os.listdir(folder)
dataset = np.ndarray(shape=(len(image_files), image_size, image_size),
dtype=np.float32)
print(folder)
num_images = 0
for image in image_files:
image_file = os.path.join(folder, image)
try:
image_data = (ndimage.imread(image_file).astype(float) -
pixel_depth / 2) / pixel_depth
if image_data.shape != (image_size, image_size):
raise Exception('Unexpected image shape: %s' % str(image_data.shape))
dataset[num_images, :, :] = image_data
num_images = num_images + 1
except IOError as e:
print('Could not read:', image_file, ':', e, '- it\'s ok, skipping.')
dataset = dataset[0:num_images, :, :]
if num_images < min_num_images:
raise Exception('Many fewer images than expected: %d < %d' %
(num_images, min_num_images))
print('Full dataset tensor:', dataset.shape)
print('Mean:', np.mean(dataset))
print('Standard deviation:', np.std(dataset))
return dataset
这个函数是这样调用的:
dataset = load_letter(folder, min_num_images_per_class)
try:
with open(set_filename, 'wb') as f:
pickle.dump(dataset, f, pickle.HIGHEST_PROTOCOL)
这里的想法是:
Now let's load the data in a more manageable format. Since, depending on your computer setup you might not be able to fit it all in memory, we'll load each class into a separate dataset, store them on disk and curate them independently. Later we'll merge them into a single dataset of manageable size.
We'll convert the entire dataset into a 3D array (image index, x, y) of floating point values, normalized to have approximately zero mean and standard deviation ~0.5 to make training easier down the road.
最佳答案
按如下方式操作:
#define a function to conver label to letter
def letter(i):
return 'abcdefghij'[i]
# you need a matplotlib inline to be able to show images in python notebook
%matplotlib inline
#some random number in range 0 - length of dataset
sample_idx = np.random.randint(0, len(train_dataset))
#now we show it
plt.imshow(train_dataset[sample_idx])
plt.title("Char " + letter(train_labels[sample_idx]))
您的代码实际上更改了数据集的类型,它不是大小为 (220000, 28,28) 的 ndarray
一般来说,pickle 是一个包含一些对象的文件,而不是数组本身。您应该直接使用 pickle 中的对象来获取训练数据集(使用代码片段中的符号):
#will give you train_dataset and labels
train_dataset = loaded_pickle['train_dataset']
train_labels = loaded_pickle['train_labels']
更新:
根据@gsarmas 的请求,我的整个 Assignment1 解决方案的链接位于 here .
代码已注释且大部分不言自明,但如有任何问题,请随时通过您喜欢的任何方式在 github 上联系
关于python - 深度学习 Udacity 类(class) : Prob 2 assignment 1 (notMNIST),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38189153/
我会在 Udacity 的论坛上发布此内容,但类(class)尚未正式向新学员开放。我想知道您是否可以帮助我解决我正在参加的测验中的以下问题。这些是方向: 路线:冰淇淋是地球上用途最广泛的甜点之一,因
我一直在使用 udacity.com 学习编写一个应用程序,该应用程序允许您输入您的年龄,当您点击“提交”时,它会检查您是否输入了正确的年、月和日。每次我按下提交并在谷歌应用程序引擎上运行它时,本地主
我一直在研究 Udacity 的深度学习类(class) - 我必须补充一点,这非常棒!我对迄今为止的任务感到非常满意。但是有两行代码我不太明白。 batch_size = 20 patch_size
我正在尝试学习 Udacity 上的一门机器学习类(class)。当第一个示例无法运行时,这个过程突然停止了。他们似乎要求我将一些代码复制粘贴到某种基于 Web 的 Python 源代码文件中。问题是
我正在学习 Udacity Android 开发类(class),当我点击设置时,应用程序崩溃了。我遵循此处给出的代码:( https://github.com/udacity/SunshineVer
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我是 Android 新手,我正在尝试使用 UDACITY 构建阳光应用程序的类(class)来学习 Android。感谢一些 stackoverflow 帖子,我能够修复应用程序崩溃问题,然后使用
我正在尝试为 Udacity 深度学习设置 TensorFlow (https://www.udacity.com/course/deep-learning--ud730)。我阅读了说明 ( http
Udacity给学生一个网络编辑器来输入 Python 程序。该编辑器可识别 Python 关键字和内置函数,并允许运行程序。你知道这项技术是如何工作的吗?程序是提交到后端并由标准 Python 解释
所以我安装了新的JDK版本,然后安装了android SDK。本教程的第一步需要在 firebase 中创建一个需要 SHA1 key 的新应用程序教程提到下面要在cmd中编写 keytool -ex
我正在 udacity.com 上进行 Android 开发培训,随后进行了 sunny 应用程序的实现。我正在使用 android studio 最新版本进行实现。 我正要到达我应该获得模拟 Lis
测验是关于一个多维数组,希望我们使用嵌套的 for 循环遍历每个元素,并将可被 2 整除的值分别替换为字符串 'even' 和 'odd' 以表示偶数和奇数。我无法使用添加的字符串将数字可被 2 整除
我正在开始我的第一个小项目,使用 Google AppEngine (Python),由 Udacity 辅导。我使用过 Drupal。 我想在每个工作实体的页面中创建一个“编辑”链接,这将允许其作者
需要一些帮助来完成下面的测验。 /* * Programming Quiz: Ice Cream (3-6) * * Write a single if statement that logs
我希望能够获得我在 Udacity.com 注册的所有类(class)的列表。有没有一种方法可以让我在 python 中编写 POST 请求来登录我的帐户,然后转到 udacity 中的仪表板并获取我
我正在尝试制作一朵花,从其大致中心向整个圆周画出黄色线条。 我遇到的问题是绘制一条线,转到中心,然后再次绘制相同的长度,但比前一条线大 10 度。 我不知道如何做到这一点,这条线要么反复来回弹跳,要么
我正在 udacity 的视频类(class)中学习three.js,当我尝试完成有关“three.js中的阴影”(exercise's link)的练习时遇到问题。我按照视频的说明添加了一些代码在练
这个问题已经有答案了: Valid year function in python (1 个回答) 已关闭10 年前。 我在 IDLE 上得到了正确的输出,但提交的内容显示它不正确。预先感谢您的任何建
我是 Android 开发的初学者,我一直在关注 SUNSHINE 应用程序。一切似乎都很顺利,直到今天我运行应用程序并发现错误:java.io.FileNotFoundException: http
我正在学习 Udacity TensorFlow 类(class),第一个练习:https://github.com/tensorflow/tensorflow/blob/master/tensorf
我是一名优秀的程序员,十分优秀!