37
37
import io .bioimage .modelrunner .system .PlatformDetection ;
38
38
import io .bioimage .modelrunner .tensor .Tensor ;
39
39
import io .bioimage .modelrunner .tensor .shm .SharedMemoryArray ;
40
+ import io .bioimage .modelrunner .tensorflow .v2 .api020 .shm .ShmBuilder ;
40
41
import io .bioimage .modelrunner .tensorflow .v2 .api020 .tensor .ImgLib2Builder ;
41
42
import io .bioimage .modelrunner .tensorflow .v2 .api020 .tensor .TensorBuilder ;
42
- import io .bioimage .modelrunner .tensorflow .v2 .api020 .tensor .mappedbuffer .ImgLib2ToMappedBuffer ;
43
- import io .bioimage .modelrunner .tensorflow .v2 .api020 .tensor .mappedbuffer .MappedBufferToImgLib2 ;
44
43
import io .bioimage .modelrunner .utils .CommonUtils ;
45
44
import io .bioimage .modelrunner .utils .Constants ;
46
45
import io .bioimage .modelrunner .utils .ZipUtils ;
50
49
import net .imglib2 .util .Cast ;
51
50
import net .imglib2 .util .Util ;
52
51
53
- import java .io .BufferedReader ;
54
52
import java .io .File ;
55
53
import java .io .IOException ;
56
- import java .io .InputStreamReader ;
57
- import java .io .RandomAccessFile ;
58
54
import java .io .UnsupportedEncodingException ;
59
55
import java .net .URISyntaxException ;
60
56
import java .net .URL ;
61
57
import java .net .URLDecoder ;
62
- import java .nio .ByteBuffer ;
63
- import java .nio .MappedByteBuffer ;
64
- import java .nio .channels .FileChannel ;
65
58
import java .nio .charset .StandardCharsets ;
66
- import java .nio .file .Files ;
67
- import java .nio .file .Paths ;
68
59
import java .security .ProtectionDomain ;
69
- import java .time .LocalDateTime ;
70
- import java .time .format .DateTimeFormatter ;
71
60
import java .util .ArrayList ;
72
61
import java .util .HashMap ;
73
62
import java .util .LinkedHashMap ;
81
70
import org .tensorflow .proto .framework .MetaGraphDef ;
82
71
import org .tensorflow .proto .framework .SignatureDef ;
83
72
import org .tensorflow .proto .framework .TensorInfo ;
84
- import org .tensorflow .types .family .TType ;
85
73
86
74
/**
87
75
* Class to that communicates with the dl-model runner, see
@@ -290,28 +278,28 @@ void run(List<Tensor<T>> inputTensors, List<Tensor<R>> outputTensors)
290
278
Session session = model .session ();
291
279
Session .Runner runner = session .runner ();
292
280
List <String > inputListNames = new ArrayList <String >();
293
- List <TType > inTensors = new ArrayList <TType >();
281
+ List <org . tensorflow . Tensor <?>> inTensors = new ArrayList <org . tensorflow . Tensor <?> >();
294
282
int c = 0 ;
295
- for (Tensor <? > tt : inputTensors ) {
283
+ for (Tensor <T > tt : inputTensors ) {
296
284
inputListNames .add (tt .getName ());
297
- TType inT = TensorBuilder .build (tt );
285
+ org . tensorflow . Tensor <?> inT = TensorBuilder .build (tt );
298
286
inTensors .add (inT );
299
287
String inputName = getModelInputName (tt .getName (), c ++);
300
288
runner .feed (inputName , inT );
301
289
}
302
290
c = 0 ;
303
- for (Tensor <? > tt : outputTensors )
291
+ for (Tensor <R > tt : outputTensors )
304
292
runner = runner .fetch (getModelOutputName (tt .getName (), c ++));
305
293
// Run runner
306
- List <org .tensorflow .Tensor > resultPatchTensors = runner .run ();
294
+ List <org .tensorflow .Tensor <?> > resultPatchTensors = runner .run ();
307
295
308
296
// Fill the agnostic output tensors list with data from the inference result
309
297
fillOutputTensors (resultPatchTensors , outputTensors );
310
298
// Close the remaining resources
311
- for (TType tt : inTensors ) {
299
+ for (org . tensorflow . Tensor <?> tt : inTensors ) {
312
300
tt .close ();
313
301
}
314
- for (org .tensorflow .Tensor tt : resultPatchTensors ) {
302
+ for (org .tensorflow .Tensor <?> tt : resultPatchTensors ) {
315
303
tt .close ();
316
304
}
317
305
}
@@ -320,12 +308,12 @@ protected void runFromShmas(List<String> inputs, List<String> outputs) throws IO
320
308
Session session = model .session ();
321
309
Session .Runner runner = session .runner ();
322
310
323
- List <TType > inTensors = new ArrayList <TType >();
311
+ List <org . tensorflow . Tensor <?>> inTensors = new ArrayList <org . tensorflow . Tensor <?> >();
324
312
int c = 0 ;
325
313
for (String ee : inputs ) {
326
314
Map <String , Object > decoded = Types .decode (ee );
327
315
SharedMemoryArray shma = SharedMemoryArray .read ((String ) decoded .get (MEM_NAME_KEY ));
328
- TType inT = io .bioimage .modelrunner .tensorflow .v2 .api030 .shm .TensorBuilder .build (shma );
316
+ org . tensorflow . Tensor <?> inT = io .bioimage .modelrunner .tensorflow .v2 .api020 .shm .TensorBuilder .build (shma );
329
317
if (PlatformDetection .isWindows ()) shma .close ();
330
318
inTensors .add (inT );
331
319
String inputName = getModelInputName ((String ) decoded .get (NAME_KEY ), c ++);
@@ -336,19 +324,19 @@ protected void runFromShmas(List<String> inputs, List<String> outputs) throws IO
336
324
for (String ee : outputs )
337
325
runner = runner .fetch (getModelOutputName ((String ) Types .decode (ee ).get (NAME_KEY ), c ++));
338
326
// Run runner
339
- List <org .tensorflow .Tensor > resultPatchTensors = runner .run ();
327
+ List <org .tensorflow .Tensor <?> > resultPatchTensors = runner .run ();
340
328
341
329
// Fill the agnostic output tensors list with data from the inference result
342
330
c = 0 ;
343
331
for (String ee : outputs ) {
344
332
Map <String , Object > decoded = Types .decode (ee );
345
- ShmBuilder .build ((TType ) resultPatchTensors .get (c ++), (String ) decoded .get (MEM_NAME_KEY ));
333
+ ShmBuilder .build ((org . tensorflow . Tensor <?> ) resultPatchTensors .get (c ++), (String ) decoded .get (MEM_NAME_KEY ));
346
334
}
347
335
// Close the remaining resources
348
- for (TType tt : inTensors ) {
336
+ for (org . tensorflow . Tensor <?> tt : inTensors ) {
349
337
tt .close ();
350
338
}
351
- for (org .tensorflow .Tensor tt : resultPatchTensors ) {
339
+ for (org .tensorflow .Tensor <?> tt : resultPatchTensors ) {
352
340
tt .close ();
353
341
}
354
342
}
0 commit comments