moondream_model_state_dict.pt
Browse files
model.py
CHANGED
@@ -7,17 +7,11 @@ import torchvision.transforms as transforms
|
|
7 |
import types
|
8 |
import os
|
9 |
import sys
|
10 |
-
sys.path.insert(0, 'ml-mobileclip/')
|
11 |
import mobileclip
|
12 |
|
13 |
DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu'
|
14 |
DTYPE = torch.float16
|
15 |
|
16 |
-
# Download mobileclip_s2.pt if it doesn't exist locally
|
17 |
-
if not os.path.exists('mobileclip_s2.pt'):
|
18 |
-
model_url = 'https://huggingface.co/irotem98/edge_vlm/resolve/main/mobileclip_s2.pt'
|
19 |
-
os.system(f"wget {model_url}")
|
20 |
-
|
21 |
def split_chessboard(x, num_split):
|
22 |
B, C, H, W = x.shape
|
23 |
h, w = H // num_split, W // num_split
|
@@ -45,7 +39,7 @@ class FeatureIRLayer(nn.Module):
|
|
45 |
class MobileVision(nn.Module):
|
46 |
def __init__(self):
|
47 |
super(MobileVision, self).__init__()
|
48 |
-
self.vision, _, _ = mobileclip.create_model_and_transforms('mobileclip_s2', pretrained='mobileclip_s2.pt')
|
49 |
self.vision = self.vision.image_encoder.model.eval().to(DEVICE).half()
|
50 |
|
51 |
def new_forward(self, x: torch.Tensor) -> torch.Tensor:
|
|
|
7 |
import types
|
8 |
import os
|
9 |
import sys
|
|
|
10 |
import mobileclip
|
11 |
|
12 |
DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu'
|
13 |
DTYPE = torch.float16
|
14 |
|
|
|
|
|
|
|
|
|
|
|
15 |
def split_chessboard(x, num_split):
|
16 |
B, C, H, W = x.shape
|
17 |
h, w = H // num_split, W // num_split
|
|
|
39 |
class MobileVision(nn.Module):
|
40 |
def __init__(self):
|
41 |
super(MobileVision, self).__init__()
|
42 |
+
self.vision, _, _ = mobileclip.create_model_and_transforms('mobileclip_s2', pretrained='/kaggle/working/test/edge_vlm/mobileclip_s2.pt')
|
43 |
self.vision = self.vision.image_encoder.model.eval().to(DEVICE).half()
|
44 |
|
45 |
def new_forward(self, x: torch.Tensor) -> torch.Tensor:
|