@@ -684,7 +684,7 @@ NodePtr tensors_multiplication(NodePtr input,
684684 const auto target_shape = target.get_partial_shape ();
685685 const auto target_rank = target_shape.rank ().get_length ();
686686
687- std::cout << ' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!tensors_multiplication' << std::endl;
687+ std::cout << " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!tensors_multiplication" << std::endl;
688688
689689 for (size_t i = 0 ; i < multipliers.size (); ++i) {
690690 NodePtr normalized = multipliers[i];
@@ -1376,6 +1376,50 @@ struct AdapterControllerImpl {
13761376 set_lora_tensors (state, lora_var_ids.first , lora_var_ids.second , lora_indices, weight_getters, alpha_only);
13771377 }
13781378
1379+ std::cout <<" constant names" << std::endl;
1380+ for (const auto & constant_variable_id : constant_variable_ids) {
1381+ std::cout << constant_variable_id.first << std::endl;
1382+ }
1383+
1384+ for (const auto & constant_variable_id : constant_variable_ids) {
1385+ // size_t const_lora_index = state_name_to_index.at(constant_variable_id.second.variable_id);
1386+ // ov::Tensor const_tensor = ov::Tensor(const_lora_index.data_type,
1387+ // dynamic_to_static(constant_variable_id.data_shape));
1388+
1389+ const std::string& const_name = constant_variable_id.first ;
1390+ const auto & var_info = constant_variable_id.second ;
1391+ size_t const_lora_index = state_name_to_index.at (var_info.variable_id );
1392+
1393+ ov::Tensor const_tensor (var_info.data_type , dynamic_to_static (var_info.data_shape ));
1394+
1395+ if (const_name.find (" const" ) != std::string::npos) {
1396+ const_tensor.data <bool >()[0 ] = true ;
1397+ } else {
1398+ // const auto& var_info = constant_variable_id.second;
1399+ // size_t const_lora_index = state_name_to_index.at(var_info.variable_id);
1400+
1401+ // ov::Tensor const_tensor(var_info.data_type, dynamic_to_static(var_info.data_shape));
1402+
1403+ if (!const_getter.empty ()) {
1404+ // auto const_name = constant_variable_id.first;
1405+ auto opt_lora_const = const_getter[0 ](const_name);
1406+ if (opt_lora_const && opt_lora_const->tensor ) {
1407+ auto constant_node = std::dynamic_pointer_cast<v0::Constant>(opt_lora_const->tensor );
1408+ OPENVINO_ASSERT (constant_node, " Expected ov::op::v0::Constant for " , const_name);
1409+
1410+ // Copy data
1411+ const_tensor = ov::Tensor (constant_node->get_element_type (), constant_node->get_shape ());
1412+ std::memcpy (const_tensor.data (), constant_node->get_data_ptr (), сonst_tensor.get_byte_size ());
1413+ } else {
1414+ OPENVINO_THROW (" LoRA constant tensor not found for name: " , const_name);
1415+ }
1416+ }
1417+
1418+ state[const_lora_index].set_state (const_tensor);
1419+
1420+ }
1421+ }
1422+
13791423 // for (const auto& constant_variable_id : constant_variable_ids) {
13801424 // auto b = constant_variable_id.second.variable_id;
13811425 // // variable_info
0 commit comments