Reem Jabbour نشر 27 مايو 2021 أرسل تقرير مشاركة نشر 27 مايو 2021 كيف أضيف ال dropout إلى الكود التالي: # GRADED FUNCTION: forward_propagation_with_dropout def forward_propagation_with_dropout(X, parameters, keep_prob=0.5): np.random.seed(1) # retrieve parameters W1 = parameters["W1"] b1 = parameters["b1"] W2 = parameters["W2"] b2 = parameters["b2"] W3 = parameters["W3"] b3 = parameters["b3"] # LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID Z1 = np.dot(W1, X) + b1 A1 = relu(Z1) ### START CODE HERE ### (approx. 4 lines) ### END CODE HERE ### Z2 = np.dot(W2, A1) + b2 A2 = relu(Z2) ### START CODE HERE ### (approx. 4 lines) ### END CODE HERE ### Z3 = np.dot(W3, A2) + b3 A3 = sigmoid(Z3) cache = (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3) return A3, cache مع التعليل لوسمحتم اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
2 Ali Haidar Ahmad نشر 27 مايو 2021 أرسل تقرير مشاركة نشر 27 مايو 2021 # GRADED FUNCTION: forward_propagation_with_dropout def forward_propagation_with_dropout(X, parameters, keep_prob=0.5): np.random.seed(1) # retrieve parameters W1 = parameters["W1"] b1 = parameters["b1"] W2 = parameters["W2"] b2 = parameters["b2"] W3 = parameters["W3"] b3 = parameters["b3"] # LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID Z1 = np.dot(W1, X) + b1 A1 = relu(Z1) ### START CODE HERE ### (approx. 4 lines) D1 = np.random.rand(A1.shape[0], A1.shape[1]) # A1 تعريف مصفوفة بقيم عشوائية بين الصفر والواحد وبنفس أبعاد المصفوفة D1 = D1 < keep_prob A1 = A1 * D1 A1 = A1 / keep_prob ### END CODE HERE ### Z2 = np.dot(W2, A1) + b2 A2 = relu(Z2) ### START CODE HERE ### (approx. 4 lines) D2 = np.random.rand(A2.shape[0], A2.shape[1]) D2 = D2 < keep_prob A2 = A2 * D2 A2 = A2 / keep_prob ### END CODE HERE ### Z3 = np.dot(W3, A2) + b3 A3 = sigmoid(Z3) cache = (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3) return A3, cache نعرف مصفوفة بقيم عشوائية بنفس أبعاد المصفوفة A ثم تحويل قيم المصفوفة D1 إلى 0 أو 1 حسب الشرط ( إذا كانت القيمة الأولى في المصفوفة D1 مثلاً 0.2 وهي أقل من العتبة (keep_prob = 0.5) أي سيكون الشرط محقق (D1<keep_porb) وسيقوم بتحويل القيمة إلى 1 , والعكس صحيح وسيقوم بتحويل القيمة إلى 0 ثم ضرب المصفوفة A1 بـ D1 بعد تعديل قيمها إلى 0,1 ثم تقسيم قيم المصفوفة A1 على العتبة.... 3 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Reem Jabbour
كيف أضيف ال dropout إلى الكود التالي:
مع التعليل لوسمحتم
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.