diff --git a/src/view.js b/src/view.js index 962b97719f5..c52ba66757b 100644 --- a/src/view.js +++ b/src/view.js @@ -1375,17 +1375,19 @@ view.ModelFactoryService = class { else { if (matches.length == 0) { return Promise.resolve(sourceContext); - // return Promise.reject(new ArchiveError('Archive does not contain model file.')); } - else if (matches.length > 1) { - if (matches.length == 2 && - matches.some((e) => e.name.endsWith('.params')) && - matches.some((e) => e.name.endsWith('-symbol.json'))) { - matches = matches.filter((e) => e.name.endsWith('.params')); - } - else { - return Promise.reject(new ArchiveError('Archive contains multiple model files.')); - } + if (matches.length > 0 && + matches.some((e) => e.name.endsWith('.bin')) && + archive.entries.some((e) => e.name.endsWith('.json'))) { + return Promise.resolve(context); // dl4j + } + if (matches.length == 2 && + matches.some((e) => e.name.endsWith('.params')) && + matches.some((e) => e.name.endsWith('-symbol.json'))) { + matches = matches.filter((e) => e.name.endsWith('.params')); + } + else { + return Promise.reject(new ArchiveError('Archive contains multiple model files.')); } const match = matches[0]; return Promise.resolve(new ModelContext(new ArchiveContext(archive.entries, rootFolder, match.name, match.data)));