{"author":"David Friehs","author_email":"david@friehs.info","author_time":1709168799,"commit_time":1709168799,"committer":"GitHub","committer_email":"noreply@github.com","hash":"275971e6161376b0ec87b4954fb7c98bf13fb603","message":"fix: align .split, .chunk and .unsqueeze with torch, add fuzz tests (#3505)\n\nthis fixes .split where self.shape[dim] is not perfectly divisible by\r\nsizes - .chunk is always the wrong choice here:\r\n - tensor((5,)).split(4) should result in (tensor((4,)), tensor((1,)))\r\n   was (tensor((3,)), tensor((2,)))\r\n\r\nthis also fixes issues in .split and .chunk where tensors with\r\nshape[dim]==0 lead to empty tuples/lists when the tensor itself should\r\nhave been returned instead\r\n\r\nbecause tinygrad is expected to fail in all cases where torch fails\r\ntinygrad will now be strict regarding sizes having to sum up to passed\r\ndimension in .split, num having to be non-null for .chunk and only\r\nallowing valid dims in .unsqueeze","parents":["e7cda40d52e6e310d40e68231e763395837149d7"],"tree_hash":"7940991d1278c1a3125360387a9ec6ee00d44c74"}