diff --git a/modules/deeplearning/cloud_fraction_fcn_abi.py b/modules/deeplearning/cloud_fraction_fcn_abi.py
index 28f76db13c8e70d3f0c191c862ec141a95a1b0e9..f7d13225319d7209fad87fadc1c58adb865a4c46 100644
--- a/modules/deeplearning/cloud_fraction_fcn_abi.py
+++ b/modules/deeplearning/cloud_fraction_fcn_abi.py
@@ -119,20 +119,20 @@ def upsample_mean(grd):
     bsize, ylen, xlen = grd.shape
     up = np.zeros((bsize, ylen*2, xlen*2))
 
-    up[:, ::2, ::2] = grd[:, ::2, ::2]
-    up[:, 1::2, ::2] = grd[:, ::2, ::2]
-    up[:, ::2, 1::2] = grd[:, ::2, ::2]
-    up[:, 1::2, 1::2] = grd[:, ::2, ::2]
+    up[:, ::4, ::4] = grd[:, ::4, ::4]
+    up[:, 1::4, ::4] = grd[:, ::4, ::4]
+    up[:, ::4, 1::4] = grd[:, ::4, ::4]
+    up[:, 1::4, 1::4] = grd[:, ::4, ::4]
 
     return up
 
 
 def get_grid_cell_mean(grd_k):
     grd_k = np.where(np.isnan(grd_k), 0, grd_k)
-    a = grd_k[:, 0::2, 0::2]
-    b = grd_k[:, 1::2, 0::2]
-    c = grd_k[:, 0::2, 1::2]
-    d = grd_k[:, 1::2, 1::2]
+    a = grd_k[:, 0::4, 0::4]
+    b = grd_k[:, 1::4, 0::4]
+    c = grd_k[:, 0::4, 1::4]
+    d = grd_k[:, 1::4, 1::4]
     mean = np.nanmean([a, b, c, d], axis=0)
 
     return mean
@@ -140,10 +140,10 @@ def get_grid_cell_mean(grd_k):
 
 def get_min_max_std(grd_k):
     grd_k = np.where(np.isnan(grd_k), 0, grd_k)
-    a = grd_k[:, 0::2, 0::2]
-    b = grd_k[:, 1::2, 0::2]
-    c = grd_k[:, 0::2, 1::2]
-    d = grd_k[:, 1::2, 1::2]
+    a = grd_k[:, 0::4, 0::4]
+    b = grd_k[:, 1::4, 0::4]
+    c = grd_k[:, 0::4, 1::4]
+    d = grd_k[:, 1::4, 1::4]
 
     lo = np.nanmin([a, b, c, d], axis=0)
     hi = np.nanmax([a, b, c, d], axis=0)
@@ -157,15 +157,15 @@ def get_label_data(grd_k):
     grd_k = np.where(np.isnan(grd_k), 0, grd_k)
     grd_k = np.where(grd_k < 0.50, 0, 1)
 
-    a = grd_k[:, 0::2, 0::2]
-    b = grd_k[:, 1::2, 0::2]
-    c = grd_k[:, 0::2, 1::2]
-    d = grd_k[:, 1::2, 1::2]
+    a = grd_k[:, 0::4, 0::4]
+    b = grd_k[:, 1::4, 0::4]
+    c = grd_k[:, 0::4, 1::4]
+    d = grd_k[:, 1::4, 1::4]
     s = a + b + c + d
 
-    cat_0 = (s == 0)
-    cat_1 = np.logical_and(s > 0, s < 4)
-    cat_2 = (s == 4)
+    cat_0 = (s <= 1)
+    cat_1 = np.logical_and(s > 1, s < 15)
+    cat_2 = (s >= 15)
     s[cat_0] = 0
     s[cat_1] = 1
     s[cat_2] = 2
@@ -175,20 +175,19 @@ def get_label_data(grd_k):
 
 def get_label_data_5cat(grd_k):
     grd_k = np.where(np.isnan(grd_k), 0, grd_k)
-    # grd_u = np.where(np.logical_and(grd_k > 0.45, grd_k < 0.55), 1, 0)
     grd_k = np.where(grd_k < 0.5, 0, 1)
 
-    a = grd_k[:, 0::2, 0::2]
-    b = grd_k[:, 1::2, 0::2]
-    c = grd_k[:, 0::2, 1::2]
-    d = grd_k[:, 1::2, 1::2]
+    a = grd_k[:, 0::4, 0::4]
+    b = grd_k[:, 1::4, 0::4]
+    c = grd_k[:, 0::4, 1::4]
+    d = grd_k[:, 1::4, 1::4]
     s = a + b + c + d
 
-    cat_0 = (s == 0)
-    cat_1 = (s == 1)
-    cat_2 = (s == 2)
-    cat_3 = (s == 3)
-    cat_4 = (s == 4)
+    cat_0 = (s <= 1)
+    cat_1 = (s > 1) & (s <= 4)
+    cat_2 = (s > 4) & (s <= 11)
+    cat_3 = (s > 11) & (s <= 14)
+    cat_4 = (s > 14)
 
     s[cat_0] = 0
     s[cat_1] = 1
@@ -196,14 +195,6 @@ def get_label_data_5cat(grd_k):
     s[cat_3] = 3
     s[cat_4] = 4
 
-    # a = grd_u[:, 0::2, 0::2]
-    # b = grd_u[:, 1::2, 0::2]
-    # c = grd_u[:, 0::2, 1::2]
-    # d = grd_u[:, 1::2, 1::2]
-    # s_u = a + b + c + d
-    # cat_u = (s_u == 4)
-    # s[cat_u] = 5
-
     return s