Added the small weight embedding + id layer norm inits.
[mygpt.git] / picoclvr.py
index c455072..3ecbf3a 100755 (executable)
@@ -163,6 +163,7 @@ def descr2properties(descr, height, width):
 
     seen = {}
     if len(d) != height * width: return []
+
     for k, x in enumerate(d):
         if x != color_names[0]:
             if x in color_tokens:
@@ -171,9 +172,15 @@ def descr2properties(descr, height, width):
                 return []
             seen[x] = (color_id[x], k // width, k % width)
 
-    square_c = torch.tensor( [ x[0] for x in seen.values() ] )
-    square_i = torch.tensor( [ x[1] for x in seen.values() ] )
-    square_j = torch.tensor( [ x[2] for x in seen.values() ] )
+    square_infos = tuple(zip(*seen.values()))
+    if square_infos:
+        square_c = torch.tensor(square_infos[0])
+        square_i = torch.tensor(square_infos[1])
+        square_j = torch.tensor(square_infos[2])
+    else:
+        square_c = torch.tensor([])
+        square_i = torch.tensor([])
+        square_j = torch.tensor([])
 
     s = all_properties(height, width, len(seen), square_i, square_j, square_c)