Skip to content

Commit 2af3f14

Browse files
committed
Updated with new model
1 parent 90c4c66 commit 2af3f14

4 files changed

Lines changed: 15206 additions & 27 deletions

File tree

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ android {
5050
applicationId = "org.openinsectid.app"
5151
minSdk = 28
5252
targetSdk = 36
53-
versionCode = 6
54-
versionName = "1.2.2"
53+
versionCode = 8
54+
versionName = "1.4.0"
5555
}
5656

5757
buildTypes {

app/src/main/assets/hierarchy_map.json

Lines changed: 15176 additions & 1 deletion
Large diffs are not rendered by default.
0 Bytes
Binary file not shown.

app/src/main/java/org/openinsectid/app/utils/InferenceManager.kt

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,31 +27,35 @@ object InferenceManager {
2727
fun init(context: Context) {
2828
if (ortSession != null) return // already initialized
2929

30-
val env = OrtEnvironment.getEnvironment()
31-
val modelBytes = context.assets.open("insect_model.onnx").readBytes()
32-
ortSession = env.createSession(modelBytes)
33-
34-
val hierarchyJson =
35-
context.assets.open("hierarchy_map.json").bufferedReader().use { it.readText() }
36-
val hierarchy = JSONObject(hierarchyJson).getJSONObject("hierarchy_map")
37-
38-
val ordres = mutableSetOf<String>()
39-
val familles = mutableSetOf<String>()
40-
val genres = mutableSetOf<String>()
41-
val especes = mutableSetOf<String>()
42-
43-
for (key in hierarchy.keys()) {
44-
val value = hierarchy.getJSONObject(key)
45-
ordres.add(value.getString("ordre"))
46-
familles.add(value.getString("famille"))
47-
genres.add(value.getString("genre"))
48-
especes.add(value.getString("espece"))
49-
}
30+
try {
31+
val env = OrtEnvironment.getEnvironment()
32+
val modelBytes = context.assets.open("insect_model.onnx").readBytes()
33+
ortSession = env.createSession(modelBytes)
34+
35+
val hierarchyJson =
36+
context.assets.open("hierarchy_map.json").bufferedReader().use { it.readText() }
37+
val hierarchy = JSONObject(hierarchyJson).getJSONObject("full_taxa_map")
38+
39+
val ordres = mutableSetOf<String>()
40+
val familles = mutableSetOf<String>()
41+
val genres = mutableSetOf<String>()
42+
val especes = mutableSetOf<String>()
43+
44+
for (key in hierarchy.keys()) {
45+
val value = hierarchy.getJSONObject(key)
46+
ordres.add(value.getString("ordre"))
47+
familles.add(value.getString("famille"))
48+
genres.add(value.getString("genre"))
49+
especes.add(value.getString("espece"))
50+
}
5051

51-
ordreClasses = ordres.sorted()
52-
famillesClasses = familles.sorted()
53-
genreClasses = genres.sorted()
54-
especesClasses = especes.sorted()
52+
ordreClasses = ordres.sorted()
53+
famillesClasses = familles.sorted()
54+
genreClasses = genres.sorted()
55+
especesClasses = especes.sorted()
56+
} catch (e: Exception) {
57+
Log.e("InferenceManager", "Error while loading Inference manager: $e")
58+
}
5559
}
5660

5761

0 commit comments

Comments
 (0)