@@ -294,20 +294,9 @@ void init_model(struct my_llama_model * model) {
294294
295295 ggml_set_name (layer.ffn_norm , (layers_i + " .ffn_norm.weight" ).c_str ());
296296
297- // 'layers.10.feed_forward.w1.weight' has length of 32.
298- // ggml_tensor->name only has 32 characters, but we need one more for the '\0' terminator.
299- // ggml_set_name will set the last character to '\0', so we can only store 'layers.10.feed_forward.w1.weigh'.
300- // when saving llama compatible model the tensors names will miss a character.
301- // ggml_set_name(layer.w1, (layers_i + ".feed_forward.w1.weight").c_str());
302- // ggml_set_name(layer.w2, (layers_i + ".feed_forward.w2.weight").c_str());
303- // ggml_set_name(layer.w3, (layers_i + ".feed_forward.w3.weight").c_str());
304-
305- strncpy (layer.w1 ->name , (layers_i + " .feed_forward.w1.weight" ).c_str (), sizeof (layer.w1 ->name ));
306- strncpy (layer.w2 ->name , (layers_i + " .feed_forward.w2.weight" ).c_str (), sizeof (layer.w2 ->name ));
307- strncpy (layer.w3 ->name , (layers_i + " .feed_forward.w3.weight" ).c_str (), sizeof (layer.w3 ->name ));
308- layer.w1 ->padding [0 ] = 0 ;
309- layer.w2 ->padding [0 ] = 0 ;
310- layer.w3 ->padding [0 ] = 0 ;
297+ ggml_format_name (layer.w1 , " %s.feed_forward.w1.weight" , layers_i.c_str ());
298+ ggml_format_name (layer.w2 , " %s.feed_forward.w2.weight" , layers_i.c_str ());
299+ ggml_format_name (layer.w3 , " %s.feed_forward.w3.weight" , layers_i.c_str ());
311300 }
312301}
313302
@@ -2368,7 +2357,7 @@ void write_tensor(struct llama_file * file, struct ggml_tensor * tensor) {
23682357 file->write_u32 (0 );
23692358 file->write_u32 (0 );
23702359 file->write_u32 (GGML_TYPE_F32);
2371- file->seek (0 -file->tell () & 31 , SEEK_CUR);
2360+ file->seek (( 0 -file->tell () ) & 31 , SEEK_CUR);
23722361 return ;
23732362 }
23742363 const char * name = ggml_get_name (tensor);
@@ -2383,7 +2372,7 @@ void write_tensor(struct llama_file * file, struct ggml_tensor * tensor) {
23832372 file->write_u32 (tensor->type );
23842373 file->write_raw (ne, sizeof (ne[0 ]) * nd);
23852374 file->write_raw (name, name_len);
2386- file->seek (0 -file->tell () & 31 , SEEK_CUR);
2375+ file->seek (( 0 -file->tell () ) & 31 , SEEK_CUR);
23872376 file->write_raw (tensor->data , ggml_nbytes (tensor));
23882377}
23892378
@@ -2404,7 +2393,7 @@ void read_tensor(struct llama_file * file, struct ggml_tensor * tensor) {
24042393 std::string name = file->read_string (name_len);
24052394 GGML_ASSERT (strncmp (ggml_get_name (tensor), name.c_str (), sizeof (tensor->name )-1 ) == 0 );
24062395
2407- file->seek (0 -file->tell () & 31 , SEEK_CUR);
2396+ file->seek (( 0 -file->tell () ) & 31 , SEEK_CUR);
24082397 file->read_raw (tensor->data , ggml_nbytes (tensor));
24092398}
24102399
0 commit comments