@@ -26,10 +26,8 @@ public class Session : BaseSession, ITensorFlowObject
2626 public Session ( string target = "" , Graph g = null ) : base ( target , g , null )
2727 { }
2828
29- public Session ( IntPtr handle , Graph g = null ) : base ( "" , g , null )
30- {
31- _handle = handle ;
32- }
29+ public Session ( IntPtr handle , Graph g = null ) : base ( handle , g )
30+ { }
3331
3432 public Session ( Graph g , ConfigProto config = null , Status s = null ) : base ( "" , g , config , s )
3533 { }
@@ -39,51 +37,29 @@ public Session as_default()
3937 return ops . set_default_session ( this ) ;
4038 }
4139
42- [ MethodImpl ( MethodImplOptions . NoOptimization ) ]
4340 public static Session LoadFromSavedModel ( string path )
4441 {
45- lock ( Locks . ProcessWide )
46- {
47- var graph = c_api . TF_NewGraph ( ) ;
48- using var status = new Status ( ) ;
49- var opt = new SessionOptions ( ) ;
50-
51- var tags = new string [ ] { "serve" } ;
52- var buffer = new TF_Buffer ( ) ;
53-
54- IntPtr sess ;
55- try
56- {
57- sess = c_api . TF_LoadSessionFromSavedModel ( opt . Handle ,
58- IntPtr . Zero ,
59- path ,
60- tags ,
61- tags . Length ,
62- graph ,
63- ref buffer ,
64- status . Handle ) ;
65- status . Check ( true ) ;
66- }
67- catch ( TensorflowException ex ) when ( ex . Message . Contains ( "Could not find SavedModel" ) )
68- {
69- sess = c_api . TF_LoadSessionFromSavedModel ( opt . Handle ,
70- IntPtr . Zero ,
71- Path . GetFullPath ( path ) ,
72- tags ,
73- tags . Length ,
74- graph ,
75- ref buffer ,
76- status . Handle ) ;
77- status . Check ( true ) ;
78- }
79-
80- // load graph bytes
81- // var data = new byte[buffer.length];
82- // Marshal.Copy(buffer.data, data, 0, (int)buffer.length);
83- // var meta_graph = MetaGraphDef.Parser.ParseFrom(data);*/
84-
85- return new Session ( sess , g : new Graph ( graph ) ) . as_default ( ) ;
86- }
42+ using var graph = new Graph ( ) ;
43+ using var status = new Status ( ) ;
44+ using var opt = c_api . TF_NewSessionOptions ( ) ;
45+
46+ var tags = new string [ ] { "serve" } ;
47+
48+ var sess = c_api . TF_LoadSessionFromSavedModel ( opt ,
49+ IntPtr . Zero ,
50+ path ,
51+ tags ,
52+ tags . Length ,
53+ graph ,
54+ IntPtr . Zero ,
55+ status . Handle ) ;
56+ status . Check ( true ) ;
57+
58+ // load graph bytes
59+ // var data = new byte[buffer.length];
60+ // Marshal.Copy(buffer.data, data, 0, (int)buffer.length);
61+ // var meta_graph = MetaGraphDef.Parser.ParseFrom(data);*/
62+ return new Session ( sess , g : graph ) ;
8763 }
8864
8965 public static implicit operator IntPtr ( Session session ) => session . _handle ;
0 commit comments