簡體   English   中英

Numpy 數組排除了一些元素

[英]Numpy array exclude some elements

training_images = np.array([i for i in images if i not in validation_images])

以上是錯誤的(如下面的評論中所述)。 這樣做的正確和更快的方法是什么?

我的validation_images 只是

 validation_images = images[::6]

並且圖像的形狀是 (60000, 784)。 這是一個 numpy 數組。

目前的方法是不可接受的,因為它太慢了。

我總是對這些事情使用布爾掩碼,你可以考慮:

# Mask every sixth row
mask = (np.arange(images.shape[0]) % 6) != 0

# Only use the not masked images
training_images = images[mask]

驗證集將是每個被屏蔽的元素:

validation_images = images[~mask]

numpy 數組上的數學運算按元素工作,因此取( % ) 將在每個元素上執行並返回另一個具有相同形狀的數組。 != 0也適用於元素,並比較模數是否不為零。 所以掩碼只是一個包含False的數組,其中值不是int * 6True

Z = np.linspace(0,1,12)[1:-1] 

#Create a vector of size 10 with values ranging from 0 to 1, both excluded

print(Z)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM