mirror of
				https://github.com/pytorch/pytorch.git
				synced 2025-11-04 16:04:58 +08:00 
			
		
		
		
	[Lite Interpreter] Support features from to_backend (#52870)
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/52870 Add the missing parts to support to_backend modules by lite interpreter. 1. Add ISINSTANCE instruction support, which is used in to_backend for output type check. 2. Bypass lite interpreter's type parser by checking the qualified name. If it starts with "torch.jit", use the same type resolver as nn module (starting with "__torch__"). Tests Mobile module is serialized and loaded in ```BackendTest.TestCompiler```. The results are compared to those from original torchscript module. Test Plan: Imported from OSS Reviewed By: raziel Differential Revision: D26715351 Pulled By: iseeyuan fbshipit-source-id: ad9d74ee81c6aa692ab9e5dd7a9003bae5d4f01f
This commit is contained in:
		
				
					committed by
					
						
						Facebook GitHub Bot
					
				
			
			
				
	
			
			
			
						parent
						
							8467e5cad3
						
					
				
				
					commit
					b5ae8e69a7
				
			@ -2,6 +2,7 @@
 | 
			
		||||
#include <test/cpp/jit/test_utils.h>
 | 
			
		||||
#include <torch/csrc/jit/api/module.h>
 | 
			
		||||
#include <torch/csrc/jit/backends/backend_detail.h>
 | 
			
		||||
#include <torch/csrc/jit/mobile/import.h>
 | 
			
		||||
#include <torch/torch.h>
 | 
			
		||||
 | 
			
		||||
// Tests go in torch::jit
 | 
			
		||||
@ -100,6 +101,12 @@ TEST(BackendTest, TestCompiler) {
 | 
			
		||||
      "backend_with_compiler_demo", m, compile_spec, any_dict_ty);
 | 
			
		||||
  auto res = lm.forward(inputs);
 | 
			
		||||
  AT_ASSERT(res.toTensor().equal(ref.toTensor()));
 | 
			
		||||
 | 
			
		||||
  std::stringstream ss;
 | 
			
		||||
  lm._save_for_mobile(ss);
 | 
			
		||||
  auto mlm = _load_for_mobile(ss);
 | 
			
		||||
  auto mres = mlm.forward(inputs);
 | 
			
		||||
  AT_ASSERT(mres.toTensor().equal(ref.toTensor()));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(BackendTest, TestCompilerNotSupport) {
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user