लिंक आप पोस्ट का कहना है: "हमारे प्रशिक्षण सेट से एक सौ यादृच्छिक डेटा बिंदुओं के" बैच "हम एक मिल"। मेरे उदाहरण में मैं एक वैश्विक फ़ंक्शन का उपयोग करता हूं (आपके उदाहरण में एक विधि नहीं) इसलिए वाक्यविन्यास में एक अंतर होगा।
मेरे फ़ंक्शन में आपको नमूने की इच्छित संख्या और डेटा सरणी पारित करने की आवश्यकता होगी।
import numpy as np
def next_batch(num, data, labels):
'''
Return a total of `num` random samples and labels.
'''
idx = np.arange(0 , len(data))
np.random.shuffle(idx)
idx = idx[:num]
data_shuffle = [data[ i] for i in idx]
labels_shuffle = [labels[ i] for i in idx]
return np.asarray(data_shuffle), np.asarray(labels_shuffle)
Xtr, Ytr = np.arange(0, 10), np.arange(0, 100).reshape(10, 10)
print(Xtr)
print(Ytr)
Xtr, Ytr = next_batch(5, Xtr, Ytr)
print('\n5 random samples')
print(Xtr)
print(Ytr)
और एक डेमो रन:
यहाँ सही कोड है, जो यह सुनिश्चित करता है नमूने सही लेबल है
[0 1 2 3 4 5 6 7 8 9]
[[ 0 1 2 3 4 5 6 7 8 9]
[10 11 12 13 14 15 16 17 18 19]
[20 21 22 23 24 25 26 27 28 29]
[30 31 32 33 34 35 36 37 38 39]
[40 41 42 43 44 45 46 47 48 49]
[50 51 52 53 54 55 56 57 58 59]
[60 61 62 63 64 65 66 67 68 69]
[70 71 72 73 74 75 76 77 78 79]
[80 81 82 83 84 85 86 87 88 89]
[90 91 92 93 94 95 96 97 98 99]]
5 random samples
[9 1 5 6 7]
[[90 91 92 93 94 95 96 97 98 99]
[10 11 12 13 14 15 16 17 18 19]
[50 51 52 53 54 55 56 57 58 59]
[60 61 62 63 64 65 66 67 68 69]
[70 71 72 73 74 75 76 77 78 79]]
मुझे इस पर विश्वास नहीं उपयोगकर्ता के रूप में काम करता है। इनपुट एक्सआरआर और आउटपुट वाईआरटी के बीच 1: 1 सहसंबंध है। प्रत्येक व्यक्तिगत रूप से यादृच्छिकरण हो रहा है। इसके बजाय, यादृच्छिक मानों का एक सेट चुना जाना चाहिए और फिर दोनों सेटों पर लागू किया जाना चाहिए। –
धन्यवाद, मैंने अपनी पोस्ट अपडेट की है। – edo
@edo 'id [i] idx में i के लिए] 'आप' डेटा [idx]' कर सकते हैं ताकि आप एनडारों से सूचियों तक वापस न जाएं और फिर से फिर से एनडारों तक न जाएं। –