@@ -136,7 +136,9 @@ int main(int argc, char** argv) {
136136
137137 const TensorPtr audio_input = create_audio_input ();
138138 std::vector<EValue> inputs;
139- inputs.emplace_back (audio_input);
139+ std::vector<TensorPtr> owned_inputs;
140+ owned_inputs.emplace_back (audio_input);
141+ inputs.emplace_back (*audio_input);
140142
141143 const auto run_start = Clock::now ();
142144 Result<std::vector<EValue>> output_result =
@@ -171,7 +173,9 @@ int main(int argc, char** argv) {
171173
172174 const TensorPtr token_ids = create_token_ids_input ();
173175 std::vector<EValue> inputs;
174- inputs.emplace_back (token_ids);
176+ std::vector<TensorPtr> owned_inputs;
177+ owned_inputs.emplace_back (token_ids);
178+ inputs.emplace_back (*token_ids);
175179
176180 const auto run_start = Clock::now ();
177181 auto token_output_result = module .execute (" token_embedding" , inputs);
@@ -203,17 +207,22 @@ int main(int argc, char** argv) {
203207 text_timing.load_ms = load_ms;
204208
205209 std::vector<EValue> inputs;
210+ std::vector<TensorPtr> owned_inputs;
206211 if (token_executed) {
207212 if (token_output.isTensor ()) {
208213 inputs.emplace_back (token_output);
209214 }
210215 }
211216
212217 if (inputs.empty ()) {
213- inputs.emplace_back (create_fallback_text_embedding ());
218+ auto fallback_embedding = create_fallback_text_embedding ();
219+ owned_inputs.emplace_back (fallback_embedding);
220+ inputs.emplace_back (*fallback_embedding);
214221 }
215222
216- inputs.emplace_back (create_positions_input ());
223+ auto positions = create_positions_input ();
224+ owned_inputs.emplace_back (positions);
225+ inputs.emplace_back (*positions);
217226
218227 const auto run_start = Clock::now ();
219228 Result<std::vector<EValue>> output_result =
0 commit comments