我碰到了这段代码
$seq =~ /(AGGAGG)([ACGT]{4,12})(ATG)([ACTG]{3,3}){0,}(TAA|TAG|TGA)/ig
发现输出看起来像这样
(x_train, y_train), (x_test, y_test) = mnist.load_data()
print("Shape of x_train: " + str(x_train.shape))
print("Shape of y_train: " + str(y_train.shape))
对于输出的第一行
到目前为止,我的理解是不是意味着在第一个维度上它可以容纳60k个项目,在下一维度上,它可以容纳 28 个“ 包含6万个项目的数组” 最后,在最后一个维度中,它可以容纳 28 “ 包含28个” 60k项的数组“ ”
我要澄清的是,这是60k的28x28数据样本还是其他?
对于第二行输出,似乎只是一个一维数组,包含60k个项目。那么它实际上代表什么呢? (我知道在x_train中是手写数字,每个数字代表该单元格中的灰色强度)
请注意,我已从一些在线示例中获取了此代码(我不记得也不会介意您是否希望将信用额添加到此示例)和公共数据集中
(60000, 28, 28)
(60000,)
答案 0 :(得分:1)
您对形状的理解是正确的。从上下文来看,x_train
可能是60k手写数字图像(分辨率为28x28像素),而y_train
只是60k真实数字,这些图像显示出来。
答案 1 :(得分:1)
您是对的,第一行给出了60K项func BenchmarkStringCheck1(b *testing.B) {
s := "Hello"
b.ResetTimer()
for n := 0; n < b.N; n++ {
if s == "" {
}
}
}
func BenchmarkStringCheck2(b *testing.B) {
s := "Hello"
b.ResetTimer()
for n := 0; n < b.N; n++ {
if len(s) == 0 {
}
}
}
大小的数据,因此为28x28
。
(60000, 28, 28)
是y_train
的标签。因此它们是一维的,数量为60k。
例如:如果x_train
的第一项是手写图像3,则x_train
的第一项将是'3',即标签。
答案 2 :(得分:1)
要了解这一点,让我们从形状为(8,)的一维数组开始。
[1, 2, 3, 4, 5, 6, 7, 8]
如果将其表示为2d数组,例如形状(4,2),它将变为
[
[1, 2],
[3, 4],
[5, 6],
[7, 8]
]
看到2d数组中的每个项目的形状都是(2,),总共有4个项目。
让我们以尺寸(2,2,2)的3d表示。
[
[
[1, 2],
[3, 4]
],
[
[5, 6],
[7, 8]
]
]
顶层数组有2个项目,即第0维。第二层又有2个项目,分别为[1, 2], [3, 4]
。大小为2
的最终维度表示1 & 2
,即数组层次结构中的最后一项。
因此(x,y,z)形状的张量将包含x*y*z
元素。