Skip to content

Commit 3461a8f

Browse files
committed
Update on "Swift support for multiple ptd files"
Differential Revision: [D82075758](https://our.internmc.facebook.com/intern/diff/D82075758/) [ghstack-poisoned]
2 parents d122898 + 1ca266a commit 3461a8f

File tree

4 files changed

+27
-19
lines changed

4 files changed

+27
-19
lines changed

extension/android/executorch_android/src/main/java/org/pytorch/executorch/extension/llm/LlmModule.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,22 @@ public class LlmModule {
3333

3434
@DoNotStrip
3535
private static native HybridData initHybrid(
36-
int modelType, String modulePath, String tokenizerPath, float temperature, List<String> dataFiles);
36+
int modelType,
37+
String modulePath,
38+
String tokenizerPath,
39+
float temperature,
40+
List<String> dataFiles);
3741

3842
/**
3943
* Constructs a LLM Module for a model with given type, model path, tokenizer, temperature, and
4044
* dataFiles.
4145
*/
4246
public LlmModule(
43-
int modelType, String modulePath, String tokenizerPath, float temperature, List<String> dataFiles) {
47+
int modelType,
48+
String modulePath,
49+
String tokenizerPath,
50+
float temperature,
51+
List<String> dataFiles) {
4452
ExecuTorchRuntime runtime = ExecuTorchRuntime.getRuntime();
4553

4654
File modelFile = new File(modulePath);
@@ -51,7 +59,7 @@ public LlmModule(
5159
if (!tokenizerFile.canRead() || !tokenizerFile.isFile()) {
5260
throw new RuntimeException("Cannot load tokenizer path " + tokenizerPath);
5361
}
54-
62+
5563
mHybridData = initHybrid(modelType, modulePath, tokenizerPath, temperature, dataFiles);
5664
}
5765

@@ -61,7 +69,7 @@ public LlmModule(
6169
*/
6270
public LlmModule(
6371
int modelType, String modulePath, String tokenizerPath, float temperature, String dataPath) {
64-
this(modelType, modulePath, tokenizerPath, temperature, List.of(dataPath));
72+
this(modelType, modulePath, tokenizerPath, temperature, List.of(dataPath));
6573
}
6674

6775
/** Constructs a LLM Module for a model with given model path, tokenizer, temperature. */

extension/android/jni/jni_layer_llama.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ class ExecuTorchLlmJni : public facebook::jni::HybridClass<ExecuTorchLlmJni> {
174174
llm::load_tokenizer(tokenizer_path->toStdString()));
175175
} else if (model_type_category == MODEL_TYPE_CATEGORY_LLM) {
176176
std::vector<std::string> data_files_vector;
177-
if (data_files_vector != nullptr) {
177+
if (data_files != nullptr) {
178178
// Convert Java List<String> to C++ std::vector<string>
179179
auto list_class = facebook::jni::findClassStatic("java/util/List");
180180
auto size_method = list_class->getMethod<jint()>("size");

extension/apple/ExecuTorch/Exported/ExecuTorchModule.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,27 +126,27 @@ NS_SWIFT_NAME(Module)
126126
* Initializes a module with a file path, data path and a specified load mode.
127127
*
128128
* @param filePath A string representing the path to the ExecuTorch program file.
129-
* @param dataFiles A list of strings representing paths to .ptd files with
129+
* @param dataFilePaths A list of strings representing paths to .ptd files with
130130
* external tensors and external data.
131131
* @param loadMode A value from ExecuTorchModuleLoadMode that determines the
132132
* file loading behavior.
133133
* @return An initialized ExecuTorchModule instance.
134134
*/
135135
- (instancetype)initWithFilePath:(NSString *)filePath
136-
dataFiles:(NSArray<NSString *> *)dataFiles
136+
dataFilePaths:(NSArray<NSString *> *)dataFilePaths
137137
loadMode:(ExecuTorchModuleLoadMode)loadMode
138138
NS_DESIGNATED_INITIALIZER;
139139

140140
/**
141141
* Initializes a module with a file path, data path and a specified load mode.
142142
*
143143
* @param filePath A string representing the path to the ExecuTorch program file.
144-
* @param dataFiles A list of strings representing paths to .ptd files with
144+
* @param dataFilePaths A list of strings representing paths to .ptd files with
145145
* external tensors and external data.
146146
* @return An initialized ExecuTorchModule instance.
147147
*/
148148
- (instancetype)initWithFilePath:(NSString *)filePath
149-
dataFiles:(NSArray<NSString *> *)dataFiles;
149+
dataFilePaths:(NSArray<NSString *> *)dataFilePaths;
150150

151151
/**
152152
* Initializes a module with a file path and a specified load mode.

extension/apple/ExecuTorch/Exported/ExecuTorchModule.mm

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -250,20 +250,20 @@ @implementation ExecuTorchModule {
250250
}
251251

252252
- (instancetype)initWithFilePath:(NSString *)filePath
253-
dataFiles:(NSArray<NSString *> *)dataFiles
253+
dataFilePaths:(NSArray<NSString *> *)dataFilePaths
254254
loadMode:(ExecuTorchModuleLoadMode)loadMode {
255255
self = [super init];
256256
if (self) {
257257
// Convert NSArray<NSString *> to std::vector<std::string>
258-
std::vector<std::string> dataFilesVector;
259-
if (dataFiles != nil) {
260-
for (NSString *dataFile in dataFiles) {
261-
dataFilesVector.push_back(dataFile.UTF8String);
258+
std::vector<std::string> dataFilePathsVector;
259+
if (dataFilePaths != nil) {
260+
for (NSString *dataFile in dataFilePaths) {
261+
dataFilePathsVector.emplace_back(dataFile.UTF8String);
262262
}
263263
}
264264
_module = std::make_unique<Module>(
265265
filePath.UTF8String,
266-
dataFilesVector,
266+
dataFilePathsVector,
267267
static_cast<Module::LoadMode>(loadMode)
268268
);
269269
_inputs = [NSMutableDictionary new];
@@ -273,21 +273,21 @@ - (instancetype)initWithFilePath:(NSString *)filePath
273273
}
274274

275275
- (instancetype)initWithFilePath:(NSString *)filePath
276-
dataFiles:(NSArray<NSString *> *)dataFiles {
276+
dataFilePaths:(NSArray<NSString *> *)dataFilePaths {
277277
return [self initWithFilePath:filePath
278-
dataFiles:dataFiles
278+
dataFilePaths:dataFilePaths
279279
loadMode:ExecuTorchModuleLoadModeFile];
280280
}
281281

282282
- (instancetype)initWithFilePath:(NSString *)filePath
283283
loadMode:(ExecuTorchModuleLoadMode)loadMode {
284284
return [self initWithFilePath:filePath
285-
dataFiles:@[]
285+
dataFilePaths:@[]
286286
loadMode:loadMode];
287287
}
288288
- (instancetype)initWithFilePath:(NSString *)filePath {
289289
return [self initWithFilePath:filePath
290-
dataFiles:@[]
290+
dataFilePaths:@[]
291291
loadMode:ExecuTorchModuleLoadModeFile];
292292
}
293293

0 commit comments

Comments
 (0)