Spaces:
Runtime error
Runtime error
pablovela5620
commited on
Commit
•
c2a846f
1
Parent(s):
4556a93
Add DSINE model prediction functionality and user agreement modal
Browse files- .dockerignore +2 -1
- .gitignore +162 -0
- main.py +75 -4
- models/dsine.py +233 -0
- models/submodules.py +194 -0
- pixi.lock +658 -87
- pixi.toml +12 -2
- test.py +86 -0
- utils/rotation.py +85 -0
- utils/utils.py +105 -0
.dockerignore
CHANGED
@@ -1 +1,2 @@
|
|
1 |
-
.pixi/
|
|
|
|
1 |
+
.pixi/
|
2 |
+
checkpoints/
|
.gitignore
CHANGED
@@ -1,3 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
# pixi environments
|
2 |
.pixi
|
|
|
|
|
3 |
|
|
|
1 |
+
# Byte-compiled / optimized / DLL files
|
2 |
+
__pycache__/
|
3 |
+
*.py[cod]
|
4 |
+
*$py.class
|
5 |
+
|
6 |
+
# C extensions
|
7 |
+
*.so
|
8 |
+
|
9 |
+
# Distribution / packaging
|
10 |
+
.Python
|
11 |
+
build/
|
12 |
+
develop-eggs/
|
13 |
+
dist/
|
14 |
+
downloads/
|
15 |
+
eggs/
|
16 |
+
.eggs/
|
17 |
+
lib/
|
18 |
+
lib64/
|
19 |
+
parts/
|
20 |
+
sdist/
|
21 |
+
var/
|
22 |
+
wheels/
|
23 |
+
share/python-wheels/
|
24 |
+
*.egg-info/
|
25 |
+
.installed.cfg
|
26 |
+
*.egg
|
27 |
+
MANIFEST
|
28 |
+
|
29 |
+
# PyInstaller
|
30 |
+
# Usually these files are written by a python script from a template
|
31 |
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
32 |
+
*.manifest
|
33 |
+
*.spec
|
34 |
+
|
35 |
+
# Installer logs
|
36 |
+
pip-log.txt
|
37 |
+
pip-delete-this-directory.txt
|
38 |
+
|
39 |
+
# Unit test / coverage reports
|
40 |
+
htmlcov/
|
41 |
+
.tox/
|
42 |
+
.nox/
|
43 |
+
.coverage
|
44 |
+
.coverage.*
|
45 |
+
.cache
|
46 |
+
nosetests.xml
|
47 |
+
coverage.xml
|
48 |
+
*.cover
|
49 |
+
*.py,cover
|
50 |
+
.hypothesis/
|
51 |
+
.pytest_cache/
|
52 |
+
cover/
|
53 |
+
|
54 |
+
# Translations
|
55 |
+
*.mo
|
56 |
+
*.pot
|
57 |
+
|
58 |
+
# Django stuff:
|
59 |
+
*.log
|
60 |
+
local_settings.py
|
61 |
+
db.sqlite3
|
62 |
+
db.sqlite3-journal
|
63 |
+
|
64 |
+
# Flask stuff:
|
65 |
+
instance/
|
66 |
+
.webassets-cache
|
67 |
+
|
68 |
+
# Scrapy stuff:
|
69 |
+
.scrapy
|
70 |
+
|
71 |
+
# Sphinx documentation
|
72 |
+
docs/_build/
|
73 |
+
|
74 |
+
# PyBuilder
|
75 |
+
.pybuilder/
|
76 |
+
target/
|
77 |
+
|
78 |
+
# Jupyter Notebook
|
79 |
+
.ipynb_checkpoints
|
80 |
+
|
81 |
+
# IPython
|
82 |
+
profile_default/
|
83 |
+
ipython_config.py
|
84 |
+
|
85 |
+
# pyenv
|
86 |
+
# For a library or package, you might want to ignore these files since the code is
|
87 |
+
# intended to run in multiple environments; otherwise, check them in:
|
88 |
+
# .python-version
|
89 |
+
|
90 |
+
# pipenv
|
91 |
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
92 |
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
93 |
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
94 |
+
# install all needed dependencies.
|
95 |
+
#Pipfile.lock
|
96 |
+
|
97 |
+
# poetry
|
98 |
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
99 |
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
100 |
+
# commonly ignored for libraries.
|
101 |
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
102 |
+
#poetry.lock
|
103 |
+
|
104 |
+
# pdm
|
105 |
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
106 |
+
#pdm.lock
|
107 |
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
108 |
+
# in version control.
|
109 |
+
# https://pdm.fming.dev/#use-with-ide
|
110 |
+
.pdm.toml
|
111 |
+
|
112 |
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
113 |
+
__pypackages__/
|
114 |
+
|
115 |
+
# Celery stuff
|
116 |
+
celerybeat-schedule
|
117 |
+
celerybeat.pid
|
118 |
+
|
119 |
+
# SageMath parsed files
|
120 |
+
*.sage.py
|
121 |
+
|
122 |
+
# Environments
|
123 |
+
.env
|
124 |
+
.venv
|
125 |
+
env/
|
126 |
+
venv/
|
127 |
+
ENV/
|
128 |
+
env.bak/
|
129 |
+
venv.bak/
|
130 |
+
|
131 |
+
# Spyder project settings
|
132 |
+
.spyderproject
|
133 |
+
.spyproject
|
134 |
+
|
135 |
+
# Rope project settings
|
136 |
+
.ropeproject
|
137 |
+
|
138 |
+
# mkdocs documentation
|
139 |
+
/site
|
140 |
+
|
141 |
+
# mypy
|
142 |
+
.mypy_cache/
|
143 |
+
.dmypy.json
|
144 |
+
dmypy.json
|
145 |
+
|
146 |
+
# Pyre type checker
|
147 |
+
.pyre/
|
148 |
+
|
149 |
+
# pytype static type analyzer
|
150 |
+
.pytype/
|
151 |
+
|
152 |
+
# Cython debug symbols
|
153 |
+
cython_debug/
|
154 |
+
|
155 |
+
# PyCharm
|
156 |
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
157 |
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
158 |
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
159 |
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
160 |
+
#.idea/
|
161 |
# pixi environments
|
162 |
.pixi
|
163 |
+
samples/*
|
164 |
+
checkpoints/*
|
165 |
|
main.py
CHANGED
@@ -1,9 +1,80 @@
|
|
1 |
import gradio as gr
|
|
|
|
|
2 |
|
|
|
3 |
|
4 |
-
|
5 |
-
|
|
|
|
|
|
|
6 |
|
|
|
7 |
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
import gradio as gr
|
2 |
+
from gradio_modal import Modal
|
3 |
+
from gradio_imageslider import ImageSlider
|
4 |
|
5 |
+
import numpy as np
|
6 |
|
7 |
+
import torch
|
8 |
+
import torch.nn.functional as F
|
9 |
+
from torchvision import transforms
|
10 |
+
from PIL import Image
|
11 |
+
import utils.utils as utils
|
12 |
|
13 |
+
from models.dsine import DSINE
|
14 |
|
15 |
+
device = torch.device("cpu")
|
16 |
+
|
17 |
+
model = DSINE().to(device)
|
18 |
+
model.pixel_coords = model.pixel_coords.to(device)
|
19 |
+
model = utils.load_checkpoint("./checkpoints/dsine.pt", model)
|
20 |
+
model.eval()
|
21 |
+
|
22 |
+
|
23 |
+
def predict_normal(img_np: np.ndarray):
|
24 |
+
# normalize
|
25 |
+
normalize = transforms.Normalize(
|
26 |
+
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]
|
27 |
+
)
|
28 |
+
|
29 |
+
with torch.no_grad():
|
30 |
+
img = np.array(img_np).astype(np.float32) / 255.0
|
31 |
+
img = torch.from_numpy(img).permute(2, 0, 1).unsqueeze(0).to("cpu")
|
32 |
+
_, _, orig_H, orig_W = img.shape
|
33 |
+
|
34 |
+
# zero-pad the input image so that both the width and height are multiples of 32
|
35 |
+
l, r, t, b = utils.pad_input(orig_H, orig_W)
|
36 |
+
img = F.pad(img, (l, r, t, b), mode="constant", value=0.0)
|
37 |
+
img = normalize(img)
|
38 |
+
|
39 |
+
# NOTE: if intrins is not given, we just assume that the principal point is at the center
|
40 |
+
# and that the field-of-view is 60 degrees (feel free to modify this assumption)
|
41 |
+
intrins = utils.get_intrins_from_fov(
|
42 |
+
new_fov=60.0, H=orig_H, W=orig_W, device="cpu"
|
43 |
+
).unsqueeze(0)
|
44 |
+
|
45 |
+
intrins[:, 0, 2] += l
|
46 |
+
intrins[:, 1, 2] += t
|
47 |
+
|
48 |
+
pred_norm = model(img, intrins=intrins)[-1]
|
49 |
+
pred_norm = pred_norm[:, :, t : t + orig_H, l : l + orig_W]
|
50 |
+
|
51 |
+
# save to output folder
|
52 |
+
# NOTE: by saving the prediction as uint8 png format, you lose a lot of precision
|
53 |
+
# if you want to use the predicted normals for downstream tasks, we recommend saving them as float32 NPY files
|
54 |
+
pred_norm_np = (
|
55 |
+
pred_norm.cpu().detach().numpy()[0, :, :, :].transpose(1, 2, 0)
|
56 |
+
) # (H, W, 3)
|
57 |
+
pred_norm_np = ((pred_norm_np + 1.0) / 2.0 * 255.0).astype(np.uint8)
|
58 |
+
|
59 |
+
return (img_np, pred_norm_np)
|
60 |
+
|
61 |
+
|
62 |
+
with gr.Blocks() as demo:
|
63 |
+
with gr.Group():
|
64 |
+
with gr.Row():
|
65 |
+
input_img = gr.Image(label="Input image", image_mode="RGB")
|
66 |
+
output_img = ImageSlider(label="Surface Normal", type="numpy")
|
67 |
+
# output_img = gr.Image(label="Normal")
|
68 |
+
|
69 |
+
btn = gr.Button("Predict")
|
70 |
+
btn.click(fn=predict_normal, inputs=[input_img], outputs=[output_img])
|
71 |
+
|
72 |
+
with Modal(visible=True, allow_user_close=False) as modal:
|
73 |
+
gr.Markdown(
|
74 |
+
"To use this space, you must agree to the terms and conditions. found [here](https://github.com/baegwangbin/DSINE/blob/main/LICENSE)."
|
75 |
+
)
|
76 |
+
btn = gr.Button("I agree")
|
77 |
+
btn.click(lambda: Modal(visible=False), None, modal)
|
78 |
+
|
79 |
+
if __name__ == "__main__":
|
80 |
+
demo.launch(server_name="0.0.0.0", server_port=7860)
|
models/dsine.py
ADDED
@@ -0,0 +1,233 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import numpy as np
|
2 |
+
import torch
|
3 |
+
import torch.nn as nn
|
4 |
+
import torch.nn.functional as F
|
5 |
+
|
6 |
+
from models.submodules import Encoder, ConvGRU, UpSampleBN, UpSampleGN, RayReLU, \
|
7 |
+
convex_upsampling, get_unfold, get_prediction_head, \
|
8 |
+
INPUT_CHANNELS_DICT
|
9 |
+
from utils.rotation import axis_angle_to_matrix
|
10 |
+
|
11 |
+
|
12 |
+
class Decoder(nn.Module):
|
13 |
+
def __init__(self, output_dims, B=5, NF=2048, BN=False, downsample_ratio=8):
|
14 |
+
super(Decoder, self).__init__()
|
15 |
+
input_channels = INPUT_CHANNELS_DICT[B]
|
16 |
+
output_dim, feature_dim, hidden_dim = output_dims
|
17 |
+
features = bottleneck_features = NF
|
18 |
+
self.downsample_ratio = downsample_ratio
|
19 |
+
|
20 |
+
UpSample = UpSampleBN if BN else UpSampleGN
|
21 |
+
self.conv2 = nn.Conv2d(bottleneck_features + 2, features, kernel_size=1, stride=1, padding=0)
|
22 |
+
self.up1 = UpSample(skip_input=features // 1 + input_channels[1] + 2, output_features=features // 2, align_corners=False)
|
23 |
+
self.up2 = UpSample(skip_input=features // 2 + input_channels[2] + 2, output_features=features // 4, align_corners=False)
|
24 |
+
|
25 |
+
# prediction heads
|
26 |
+
i_dim = features // 4
|
27 |
+
h_dim = 128
|
28 |
+
self.normal_head = get_prediction_head(i_dim+2, h_dim, output_dim)
|
29 |
+
self.feature_head = get_prediction_head(i_dim+2, h_dim, feature_dim)
|
30 |
+
self.hidden_head = get_prediction_head(i_dim+2, h_dim, hidden_dim)
|
31 |
+
|
32 |
+
def forward(self, features, uvs):
|
33 |
+
_, _, x_block2, x_block3, x_block4 = features[4], features[5], features[6], features[8], features[11]
|
34 |
+
uv_32, uv_16, uv_8 = uvs
|
35 |
+
|
36 |
+
x_d0 = self.conv2(torch.cat([x_block4, uv_32], dim=1))
|
37 |
+
x_d1 = self.up1(x_d0, torch.cat([x_block3, uv_16], dim=1))
|
38 |
+
x_feat = self.up2(x_d1, torch.cat([x_block2, uv_8], dim=1))
|
39 |
+
x_feat = torch.cat([x_feat, uv_8], dim=1)
|
40 |
+
|
41 |
+
normal = self.normal_head(x_feat)
|
42 |
+
normal = F.normalize(normal, dim=1)
|
43 |
+
f = self.feature_head(x_feat)
|
44 |
+
h = self.hidden_head(x_feat)
|
45 |
+
return normal, f, h
|
46 |
+
|
47 |
+
|
48 |
+
class DSINE(nn.Module):
|
49 |
+
def __init__(self):
|
50 |
+
super(DSINE, self).__init__()
|
51 |
+
self.downsample_ratio = 8
|
52 |
+
self.ps = 5 # patch size
|
53 |
+
self.num_iter = 5 # num iterations
|
54 |
+
|
55 |
+
# define encoder
|
56 |
+
self.encoder = Encoder(B=5, pretrained=True)
|
57 |
+
|
58 |
+
# define decoder
|
59 |
+
self.output_dim = output_dim = 3
|
60 |
+
self.feature_dim = feature_dim = 64
|
61 |
+
self.hidden_dim = hidden_dim = 64
|
62 |
+
self.decoder = Decoder([output_dim, feature_dim, hidden_dim], B=5, NF=2048, BN=False)
|
63 |
+
|
64 |
+
# ray direction-based ReLU
|
65 |
+
self.ray_relu = RayReLU(eps=1e-2)
|
66 |
+
|
67 |
+
# pixel_coords (1, 3, H, W)
|
68 |
+
# NOTE: this is set to some arbitrarily high number,
|
69 |
+
# if your input is 2000+ pixels wide/tall, increase these values
|
70 |
+
h = 2000
|
71 |
+
w = 2000
|
72 |
+
pixel_coords = np.ones((3, h, w)).astype(np.float32)
|
73 |
+
x_range = np.concatenate([np.arange(w).reshape(1, w)] * h, axis=0)
|
74 |
+
y_range = np.concatenate([np.arange(h).reshape(h, 1)] * w, axis=1)
|
75 |
+
pixel_coords[0, :, :] = x_range + 0.5
|
76 |
+
pixel_coords[1, :, :] = y_range + 0.5
|
77 |
+
self.pixel_coords = torch.from_numpy(pixel_coords).unsqueeze(0)
|
78 |
+
|
79 |
+
# define ConvGRU cell
|
80 |
+
self.gru = ConvGRU(hidden_dim=hidden_dim, input_dim=feature_dim+2, ks=self.ps)
|
81 |
+
|
82 |
+
# padding used during NRN
|
83 |
+
self.pad = (self.ps - 1) // 2
|
84 |
+
|
85 |
+
# prediction heads
|
86 |
+
self.prob_head = get_prediction_head(self.hidden_dim+2, 64, self.ps*self.ps) # weights assigned for each nghbr pixel
|
87 |
+
self.xy_head = get_prediction_head(self.hidden_dim+2, 64, self.ps*self.ps*2) # rotation axis for each nghbr pixel
|
88 |
+
self.angle_head = get_prediction_head(self.hidden_dim+2, 64, self.ps*self.ps) # rotation angle for each nghbr pixel
|
89 |
+
|
90 |
+
# prediction heads - weights used for upsampling the coarse resolution output
|
91 |
+
self.up_prob_head = get_prediction_head(self.hidden_dim+2, 64, 9 * self.downsample_ratio * self.downsample_ratio)
|
92 |
+
|
93 |
+
def get_ray(self, intrins, H, W, orig_H, orig_W, return_uv=False):
|
94 |
+
B, _, _ = intrins.shape
|
95 |
+
fu = intrins[:, 0, 0][:,None,None] * (W / orig_W)
|
96 |
+
cu = intrins[:, 0, 2][:,None,None] * (W / orig_W)
|
97 |
+
fv = intrins[:, 1, 1][:,None,None] * (H / orig_H)
|
98 |
+
cv = intrins[:, 1, 2][:,None,None] * (H / orig_H)
|
99 |
+
|
100 |
+
# (B, 2, H, W)
|
101 |
+
ray = self.pixel_coords[:, :, :H, :W].repeat(B, 1, 1, 1)
|
102 |
+
ray[:, 0, :, :] = (ray[:, 0, :, :] - cu) / fu
|
103 |
+
ray[:, 1, :, :] = (ray[:, 1, :, :] - cv) / fv
|
104 |
+
|
105 |
+
if return_uv:
|
106 |
+
return ray[:, :2, :, :]
|
107 |
+
else:
|
108 |
+
return F.normalize(ray, dim=1)
|
109 |
+
|
110 |
+
def upsample(self, h, pred_norm, uv_8):
|
111 |
+
up_mask = self.up_prob_head(torch.cat([h, uv_8], dim=1))
|
112 |
+
up_pred_norm = convex_upsampling(pred_norm, up_mask, self.downsample_ratio)
|
113 |
+
up_pred_norm = F.normalize(up_pred_norm, dim=1)
|
114 |
+
return up_pred_norm
|
115 |
+
|
116 |
+
def refine(self, h, feat_map, pred_norm, intrins, orig_H, orig_W, uv_8, ray_8):
|
117 |
+
B, C, H, W = pred_norm.shape
|
118 |
+
fu = intrins[:, 0, 0][:,None,None,None] * (W / orig_W) # (B, 1, 1, 1)
|
119 |
+
cu = intrins[:, 0, 2][:,None,None,None] * (W / orig_W)
|
120 |
+
fv = intrins[:, 1, 1][:,None,None,None] * (H / orig_H)
|
121 |
+
cv = intrins[:, 1, 2][:,None,None,None] * (H / orig_H)
|
122 |
+
|
123 |
+
h_new = self.gru(h, feat_map)
|
124 |
+
|
125 |
+
# get nghbr prob (B, 1, ps*ps, h, w)
|
126 |
+
nghbr_prob = self.prob_head(torch.cat([h_new, uv_8], dim=1)).unsqueeze(1)
|
127 |
+
nghbr_prob = torch.sigmoid(nghbr_prob)
|
128 |
+
|
129 |
+
# get nghbr normals (B, 3, ps*ps, h, w)
|
130 |
+
nghbr_normals = get_unfold(pred_norm, ps=self.ps, pad=self.pad)
|
131 |
+
|
132 |
+
# get nghbr xy (B, 2, ps*ps, h, w)
|
133 |
+
nghbr_xys = self.xy_head(torch.cat([h_new, uv_8], dim=1))
|
134 |
+
nghbr_xs, nghbr_ys = torch.split(nghbr_xys, [self.ps*self.ps, self.ps*self.ps], dim=1)
|
135 |
+
nghbr_xys = torch.cat([nghbr_xs.unsqueeze(1), nghbr_ys.unsqueeze(1)], dim=1)
|
136 |
+
nghbr_xys = F.normalize(nghbr_xys, dim=1)
|
137 |
+
|
138 |
+
# get nghbr theta (B, 1, ps*ps, h, w)
|
139 |
+
nghbr_angle = self.angle_head(torch.cat([h_new, uv_8], dim=1)).unsqueeze(1)
|
140 |
+
nghbr_angle = torch.sigmoid(nghbr_angle) * np.pi
|
141 |
+
|
142 |
+
# get nghbr pixel coord (1, 3, ps*ps, h, w)
|
143 |
+
nghbr_pixel_coord = get_unfold(self.pixel_coords[:, :, :H, :W], ps=self.ps, pad=self.pad)
|
144 |
+
|
145 |
+
# nghbr axes (B, 3, ps*ps, h, w)
|
146 |
+
nghbr_axes = torch.zeros_like(nghbr_normals)
|
147 |
+
|
148 |
+
du_over_fu = nghbr_xys[:, 0, ...] / fu # (B, ps*ps, h, w)
|
149 |
+
dv_over_fv = nghbr_xys[:, 1, ...] / fv # (B, ps*ps, h, w)
|
150 |
+
|
151 |
+
term_u = (nghbr_pixel_coord[:, 0, ...] + nghbr_xys[:, 0, ...] - cu) / fu # (B, ps*ps, h, w)
|
152 |
+
term_v = (nghbr_pixel_coord[:, 1, ...] + nghbr_xys[:, 1, ...] - cv) / fv # (B, ps*ps, h, w)
|
153 |
+
|
154 |
+
nx = nghbr_normals[:, 0, ...] # (B, ps*ps, h, w)
|
155 |
+
ny = nghbr_normals[:, 1, ...] # (B, ps*ps, h, w)
|
156 |
+
nz = nghbr_normals[:, 2, ...] # (B, ps*ps, h, w)
|
157 |
+
|
158 |
+
nghbr_delta_z_num = - (du_over_fu * nx + dv_over_fv * ny)
|
159 |
+
nghbr_delta_z_denom = (term_u * nx + term_v * ny + nz)
|
160 |
+
nghbr_delta_z_denom[torch.abs(nghbr_delta_z_denom) < 1e-8] = 1e-8 * torch.sign(nghbr_delta_z_denom[torch.abs(nghbr_delta_z_denom) < 1e-8])
|
161 |
+
nghbr_delta_z = nghbr_delta_z_num / nghbr_delta_z_denom
|
162 |
+
|
163 |
+
nghbr_axes[:, 0, ...] = du_over_fu + nghbr_delta_z * term_u
|
164 |
+
nghbr_axes[:, 1, ...] = dv_over_fv + nghbr_delta_z * term_v
|
165 |
+
nghbr_axes[:, 2, ...] = nghbr_delta_z
|
166 |
+
nghbr_axes = F.normalize(nghbr_axes, dim=1) # (B, 3, ps*ps, h, w)
|
167 |
+
|
168 |
+
# make sure axes are all valid
|
169 |
+
invalid = torch.sum(torch.logical_or(torch.isnan(nghbr_axes), torch.isinf(nghbr_axes)).float(), dim=1) > 0.5 # (B, ps*ps, h, w)
|
170 |
+
nghbr_axes[:, 0, ...][invalid] = 0.0
|
171 |
+
nghbr_axes[:, 1, ...][invalid] = 0.0
|
172 |
+
nghbr_axes[:, 2, ...][invalid] = 0.0
|
173 |
+
|
174 |
+
# nghbr_axes_angle (B, 3, ps*ps, h, w)
|
175 |
+
nghbr_axes_angle = nghbr_axes * nghbr_angle
|
176 |
+
nghbr_axes_angle = nghbr_axes_angle.permute(0, 2, 3, 4, 1) # (B, ps*ps, h, w, 3)
|
177 |
+
nghbr_R = axis_angle_to_matrix(nghbr_axes_angle) # (B, ps*ps, h, w, 3, 3)
|
178 |
+
|
179 |
+
# (B, 3, ps*ps, h, w)
|
180 |
+
nghbr_normals_rot = torch.bmm(
|
181 |
+
nghbr_R.reshape(B * self.ps * self.ps * H * W, 3, 3),
|
182 |
+
nghbr_normals.permute(0, 2, 3, 4, 1).reshape(B * self.ps * self.ps * H * W, 3).unsqueeze(-1)
|
183 |
+
).reshape(B, self.ps*self.ps, H, W, 3, 1).squeeze(-1).permute(0, 4, 1, 2, 3) # (B, 3, ps*ps, h, w)
|
184 |
+
nghbr_normals_rot = F.normalize(nghbr_normals_rot, dim=1)
|
185 |
+
|
186 |
+
# ray ReLU
|
187 |
+
nghbr_normals_rot = torch.cat([
|
188 |
+
self.ray_relu(nghbr_normals_rot[:, :, i, :, :], ray_8).unsqueeze(2)
|
189 |
+
for i in range(nghbr_normals_rot.size(2))
|
190 |
+
], dim=2)
|
191 |
+
|
192 |
+
# (B, 1, ps*ps, h, w) * (B, 3, ps*ps, h, w)
|
193 |
+
pred_norm = torch.sum(nghbr_prob * nghbr_normals_rot, dim=2) # (B, C, H, W)
|
194 |
+
pred_norm = F.normalize(pred_norm, dim=1)
|
195 |
+
|
196 |
+
up_mask = self.up_prob_head(torch.cat([h_new, uv_8], dim=1))
|
197 |
+
up_pred_norm = convex_upsampling(pred_norm, up_mask, self.downsample_ratio)
|
198 |
+
up_pred_norm = F.normalize(up_pred_norm, dim=1)
|
199 |
+
|
200 |
+
return h_new, pred_norm, up_pred_norm
|
201 |
+
|
202 |
+
|
203 |
+
def forward(self, img, intrins=None):
|
204 |
+
# Step 1. encoder
|
205 |
+
features = self.encoder(img)
|
206 |
+
|
207 |
+
# Step 2. get uv encoding
|
208 |
+
B, _, orig_H, orig_W = img.shape
|
209 |
+
intrins[:, 0, 2] += 0.5
|
210 |
+
intrins[:, 1, 2] += 0.5
|
211 |
+
uv_32 = self.get_ray(intrins, orig_H//32, orig_W//32, orig_H, orig_W, return_uv=True)
|
212 |
+
uv_16 = self.get_ray(intrins, orig_H//16, orig_W//16, orig_H, orig_W, return_uv=True)
|
213 |
+
uv_8 = self.get_ray(intrins, orig_H//8, orig_W//8, orig_H, orig_W, return_uv=True)
|
214 |
+
ray_8 = self.get_ray(intrins, orig_H//8, orig_W//8, orig_H, orig_W)
|
215 |
+
|
216 |
+
# Step 3. decoder - initial prediction
|
217 |
+
pred_norm, feat_map, h = self.decoder(features, uvs=(uv_32, uv_16, uv_8))
|
218 |
+
pred_norm = self.ray_relu(pred_norm, ray_8)
|
219 |
+
|
220 |
+
# Step 4. add ray direction encoding
|
221 |
+
feat_map = torch.cat([feat_map, uv_8], dim=1)
|
222 |
+
|
223 |
+
# iterative refinement
|
224 |
+
up_pred_norm = self.upsample(h, pred_norm, uv_8)
|
225 |
+
pred_list = [up_pred_norm]
|
226 |
+
for i in range(self.num_iter):
|
227 |
+
h, pred_norm, up_pred_norm = self.refine(h, feat_map,
|
228 |
+
pred_norm.detach(),
|
229 |
+
intrins, orig_H, orig_W, uv_8, ray_8)
|
230 |
+
pred_list.append(up_pred_norm)
|
231 |
+
return pred_list
|
232 |
+
|
233 |
+
|
models/submodules.py
ADDED
@@ -0,0 +1,194 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import torch
|
2 |
+
import torch.nn as nn
|
3 |
+
import torch.nn.functional as F
|
4 |
+
import geffnet
|
5 |
+
|
6 |
+
|
7 |
+
INPUT_CHANNELS_DICT = {
|
8 |
+
0: [1280, 112, 40, 24, 16],
|
9 |
+
1: [1280, 112, 40, 24, 16],
|
10 |
+
2: [1408, 120, 48, 24, 16],
|
11 |
+
3: [1536, 136, 48, 32, 24],
|
12 |
+
4: [1792, 160, 56, 32, 24],
|
13 |
+
5: [2048, 176, 64, 40, 24],
|
14 |
+
6: [2304, 200, 72, 40, 32],
|
15 |
+
7: [2560, 224, 80, 48, 32]
|
16 |
+
}
|
17 |
+
|
18 |
+
|
19 |
+
class Encoder(nn.Module):
|
20 |
+
def __init__(self, B=5, pretrained=True):
|
21 |
+
""" e.g. B=5 will return EfficientNet-B5
|
22 |
+
"""
|
23 |
+
super(Encoder, self).__init__()
|
24 |
+
basemodel = geffnet.create_model('tf_efficientnet_b%s_ap' % B, pretrained=pretrained)
|
25 |
+
# Remove last layer
|
26 |
+
basemodel.global_pool = nn.Identity()
|
27 |
+
basemodel.classifier = nn.Identity()
|
28 |
+
self.original_model = basemodel
|
29 |
+
|
30 |
+
def forward(self, x):
|
31 |
+
features = [x]
|
32 |
+
for k, v in self.original_model._modules.items():
|
33 |
+
if (k == 'blocks'):
|
34 |
+
for ki, vi in v._modules.items():
|
35 |
+
features.append(vi(features[-1]))
|
36 |
+
else:
|
37 |
+
features.append(v(features[-1]))
|
38 |
+
return features
|
39 |
+
|
40 |
+
|
41 |
+
class ConvGRU(nn.Module):
|
42 |
+
def __init__(self, hidden_dim, input_dim, ks=3):
|
43 |
+
super(ConvGRU, self).__init__()
|
44 |
+
p = (ks - 1) // 2
|
45 |
+
self.convz = nn.Conv2d(hidden_dim+input_dim, hidden_dim, ks, padding=p)
|
46 |
+
self.convr = nn.Conv2d(hidden_dim+input_dim, hidden_dim, ks, padding=p)
|
47 |
+
self.convq = nn.Conv2d(hidden_dim+input_dim, hidden_dim, ks, padding=p)
|
48 |
+
|
49 |
+
def forward(self, h, x):
|
50 |
+
hx = torch.cat([h, x], dim=1)
|
51 |
+
z = torch.sigmoid(self.convz(hx))
|
52 |
+
r = torch.sigmoid(self.convr(hx))
|
53 |
+
q = torch.tanh(self.convq(torch.cat([r*h, x], dim=1)))
|
54 |
+
h = (1-z) * h + z * q
|
55 |
+
return h
|
56 |
+
|
57 |
+
|
58 |
+
class RayReLU(nn.Module):
|
59 |
+
def __init__(self, eps=1e-2):
|
60 |
+
super(RayReLU, self).__init__()
|
61 |
+
self.eps = eps
|
62 |
+
|
63 |
+
def forward(self, pred_norm, ray):
|
64 |
+
# angle between the predicted normal and ray direction
|
65 |
+
cos = torch.cosine_similarity(pred_norm, ray, dim=1).unsqueeze(1) # (B, 1, H, W)
|
66 |
+
|
67 |
+
# component of pred_norm along view
|
68 |
+
norm_along_view = ray * cos
|
69 |
+
|
70 |
+
# cos should be bigger than eps
|
71 |
+
norm_along_view_relu = ray * (torch.relu(cos - self.eps) + self.eps)
|
72 |
+
|
73 |
+
# difference
|
74 |
+
diff = norm_along_view_relu - norm_along_view
|
75 |
+
|
76 |
+
# updated pred_norm
|
77 |
+
new_pred_norm = pred_norm + diff
|
78 |
+
new_pred_norm = F.normalize(new_pred_norm, dim=1)
|
79 |
+
|
80 |
+
return new_pred_norm
|
81 |
+
|
82 |
+
|
83 |
+
class UpSampleBN(nn.Module):
|
84 |
+
def __init__(self, skip_input, output_features, align_corners=True):
|
85 |
+
super(UpSampleBN, self).__init__()
|
86 |
+
self._net = nn.Sequential(nn.Conv2d(skip_input, output_features, kernel_size=3, stride=1, padding=1),
|
87 |
+
nn.BatchNorm2d(output_features),
|
88 |
+
nn.LeakyReLU(),
|
89 |
+
nn.Conv2d(output_features, output_features, kernel_size=3, stride=1, padding=1),
|
90 |
+
nn.BatchNorm2d(output_features),
|
91 |
+
nn.LeakyReLU())
|
92 |
+
self.align_corners = align_corners
|
93 |
+
|
94 |
+
def forward(self, x, concat_with):
|
95 |
+
up_x = F.interpolate(x, size=[concat_with.size(2), concat_with.size(3)], mode='bilinear', align_corners=self.align_corners)
|
96 |
+
f = torch.cat([up_x, concat_with], dim=1)
|
97 |
+
return self._net(f)
|
98 |
+
|
99 |
+
|
100 |
+
class Conv2d_WS(nn.Conv2d):
|
101 |
+
""" weight standardization
|
102 |
+
"""
|
103 |
+
def __init__(self, in_channels, out_channels, kernel_size, stride=1,
|
104 |
+
padding=0, dilation=1, groups=1, bias=True):
|
105 |
+
super(Conv2d_WS, self).__init__(in_channels, out_channels, kernel_size, stride,
|
106 |
+
padding, dilation, groups, bias)
|
107 |
+
|
108 |
+
def forward(self, x):
|
109 |
+
weight = self.weight
|
110 |
+
weight_mean = weight.mean(dim=1, keepdim=True).mean(dim=2,
|
111 |
+
keepdim=True).mean(dim=3, keepdim=True)
|
112 |
+
weight = weight - weight_mean
|
113 |
+
std = weight.view(weight.size(0), -1).std(dim=1).view(-1, 1, 1, 1) + 1e-5
|
114 |
+
weight = weight / std.expand_as(weight)
|
115 |
+
return F.conv2d(x, weight, self.bias, self.stride, self.padding, self.dilation, self.groups)
|
116 |
+
|
117 |
+
|
118 |
+
class UpSampleGN(nn.Module):
|
119 |
+
""" UpSample with GroupNorm
|
120 |
+
"""
|
121 |
+
def __init__(self, skip_input, output_features, align_corners=True):
|
122 |
+
super(UpSampleGN, self).__init__()
|
123 |
+
self._net = nn.Sequential(Conv2d_WS(skip_input, output_features, kernel_size=3, stride=1, padding=1),
|
124 |
+
nn.GroupNorm(8, output_features),
|
125 |
+
nn.LeakyReLU(),
|
126 |
+
Conv2d_WS(output_features, output_features, kernel_size=3, stride=1, padding=1),
|
127 |
+
nn.GroupNorm(8, output_features),
|
128 |
+
nn.LeakyReLU())
|
129 |
+
self.align_corners = align_corners
|
130 |
+
|
131 |
+
def forward(self, x, concat_with):
|
132 |
+
up_x = F.interpolate(x, size=[concat_with.size(2), concat_with.size(3)], mode='bilinear', align_corners=self.align_corners)
|
133 |
+
f = torch.cat([up_x, concat_with], dim=1)
|
134 |
+
return self._net(f)
|
135 |
+
|
136 |
+
|
137 |
+
def upsample_via_bilinear(out, up_mask, downsample_ratio):
|
138 |
+
""" bilinear upsampling (up_mask is a dummy variable)
|
139 |
+
"""
|
140 |
+
return F.interpolate(out, scale_factor=downsample_ratio, mode='bilinear', align_corners=True)
|
141 |
+
|
142 |
+
|
143 |
+
def upsample_via_mask(out, up_mask, downsample_ratio):
|
144 |
+
""" convex upsampling
|
145 |
+
"""
|
146 |
+
# out: low-resolution output (B, o_dim, H, W)
|
147 |
+
# up_mask: (B, 9*k*k, H, W)
|
148 |
+
k = downsample_ratio
|
149 |
+
|
150 |
+
N, o_dim, H, W = out.shape
|
151 |
+
up_mask = up_mask.view(N, 1, 9, k, k, H, W)
|
152 |
+
up_mask = torch.softmax(up_mask, dim=2) # (B, 1, 9, k, k, H, W)
|
153 |
+
|
154 |
+
up_out = F.unfold(out, [3, 3], padding=1) # (B, 2, H, W) -> (B, 2 X 3*3, H*W)
|
155 |
+
up_out = up_out.view(N, o_dim, 9, 1, 1, H, W) # (B, 2, 3*3, 1, 1, H, W)
|
156 |
+
up_out = torch.sum(up_mask * up_out, dim=2) # (B, 2, k, k, H, W)
|
157 |
+
|
158 |
+
up_out = up_out.permute(0, 1, 4, 2, 5, 3) # (B, 2, H, k, W, k)
|
159 |
+
return up_out.reshape(N, o_dim, k*H, k*W) # (B, 2, kH, kW)
|
160 |
+
|
161 |
+
|
162 |
+
def convex_upsampling(out, up_mask, k):
|
163 |
+
# out: low-resolution output (B, C, H, W)
|
164 |
+
# up_mask: (B, 9*k*k, H, W)
|
165 |
+
B, C, H, W = out.shape
|
166 |
+
up_mask = up_mask.view(B, 1, 9, k, k, H, W)
|
167 |
+
up_mask = torch.softmax(up_mask, dim=2) # (B, 1, 9, k, k, H, W)
|
168 |
+
|
169 |
+
out = F.pad(out, pad=(1,1,1,1), mode='replicate')
|
170 |
+
up_out = F.unfold(out, [3, 3], padding=0) # (B, C, H, W) -> (B, C X 3*3, H*W)
|
171 |
+
up_out = up_out.view(B, C, 9, 1, 1, H, W) # (B, C, 9, 1, 1, H, W)
|
172 |
+
|
173 |
+
up_out = torch.sum(up_mask * up_out, dim=2) # (B, C, k, k, H, W)
|
174 |
+
up_out = up_out.permute(0, 1, 4, 2, 5, 3) # (B, C, H, k, W, k)
|
175 |
+
return up_out.reshape(B, C, k*H, k*W) # (B, C, kH, kW)
|
176 |
+
|
177 |
+
|
178 |
+
def get_unfold(pred_norm, ps, pad):
|
179 |
+
B, C, H, W = pred_norm.shape
|
180 |
+
pred_norm = F.pad(pred_norm, pad=(pad,pad,pad,pad), mode='replicate') # (B, C, h, w)
|
181 |
+
pred_norm_unfold = F.unfold(pred_norm, [ps, ps], padding=0) # (B, C X ps*ps, h*w)
|
182 |
+
pred_norm_unfold = pred_norm_unfold.view(B, C, ps*ps, H, W) # (B, C, ps*ps, h, w)
|
183 |
+
return pred_norm_unfold
|
184 |
+
|
185 |
+
|
186 |
+
def get_prediction_head(input_dim, hidden_dim, output_dim):
|
187 |
+
return nn.Sequential(
|
188 |
+
nn.Conv2d(input_dim, hidden_dim, 3, padding=1),
|
189 |
+
nn.ReLU(inplace=True),
|
190 |
+
nn.Conv2d(hidden_dim, hidden_dim, 1),
|
191 |
+
nn.ReLU(inplace=True),
|
192 |
+
nn.Conv2d(hidden_dim, output_dim, 1),
|
193 |
+
)
|
194 |
+
|
pixi.lock
CHANGED
@@ -3,11 +3,13 @@ environments:
|
|
3 |
default:
|
4 |
channels:
|
5 |
- url: https://conda.anaconda.org/conda-forge/
|
|
|
6 |
packages:
|
7 |
linux-64:
|
8 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
|
9 |
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-
|
10 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.8.1-h59595ed_0.conda
|
|
|
11 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hd590300_1.conda
|
12 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hd590300_1.conda
|
13 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py311hb755f60_1.conda
|
@@ -24,6 +26,7 @@ environments:
|
|
24 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.10-h36c2ea0_0.tar.bz2
|
25 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2
|
26 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_0.conda
|
|
|
27 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/gnutls-3.7.9-hb077bed_0.conda
|
28 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h58526e2_1001.tar.bz2
|
29 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda
|
@@ -35,11 +38,11 @@ environments:
|
|
35 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2
|
36 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.1-cxx17_h59595ed_2.conda
|
37 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.1-h8fe9dca_1.conda
|
38 |
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-
|
39 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hd590300_1.conda
|
40 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hd590300_1.conda
|
41 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hd590300_1.conda
|
42 |
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-
|
43 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda
|
44 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.120-hd590300_0.conda
|
45 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.5.0-hcb278e6_1.conda
|
@@ -48,14 +51,12 @@ environments:
|
|
48 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_5.conda
|
49 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_5.conda
|
50 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.4-h783c2da_0.conda
|
51 |
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_5.conda
|
52 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.9.3-default_h554bfaf_1009.conda
|
53 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda
|
54 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.7-hd590300_0.conda
|
55 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda
|
56 |
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-
|
57 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda
|
58 |
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.26-pthreads_h413a1c8_0.conda
|
59 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2023.3.0-h2e90f83_2.conda
|
60 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2023.3.0-hd5fc58b_2.conda
|
61 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2023.3.0-hd5fc58b_2.conda
|
@@ -85,8 +86,12 @@ environments:
|
|
85 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
|
86 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.12.5-h232c23b_0.conda
|
87 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda
|
|
|
88 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.5-py311h459d7ec_0.conda
|
89 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.3-py311h54ef318_0.conda
|
|
|
|
|
|
|
90 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4-h59595ed_2.conda
|
91 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/nettle-3.9.1-h7ab15ed_0.conda
|
92 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py311h64a7726_0.conda
|
@@ -139,6 +144,7 @@ environments:
|
|
139 |
- conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.6.0-pyhd8ed1ab_0.conda
|
140 |
- conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.3.0-pyhd8ed1ab_0.conda
|
141 |
- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-23.2.0-pyh71513ae_0.conda
|
|
|
142 |
- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.2.2-pyhd8ed1ab_0.conda
|
143 |
- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.3.2-pyhd8ed1ab_0.conda
|
144 |
- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda
|
@@ -155,6 +161,7 @@ environments:
|
|
155 |
- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2
|
156 |
- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2
|
157 |
- conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.2.0-pyhca7485f_0.conda
|
|
|
158 |
- conda: https://conda.anaconda.org/conda-forge/noarch/gradio-4.19.2-pyhd8ed1ab_0.conda
|
159 |
- conda: https://conda.anaconda.org/conda-forge/noarch/gradio-client-0.10.1-pyhd8ed1ab_1.conda
|
160 |
- conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2
|
@@ -173,7 +180,9 @@ environments:
|
|
173 |
- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2023.12.1-pyhd8ed1ab_0.conda
|
174 |
- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda
|
175 |
- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda
|
|
|
176 |
- conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2
|
|
|
177 |
- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-23.2-pyhd8ed1ab_0.conda
|
178 |
- conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda
|
179 |
- conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.6.3-pyhd8ed1ab_0.conda
|
@@ -192,7 +201,9 @@ environments:
|
|
192 |
- conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda
|
193 |
- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2
|
194 |
- conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda
|
|
|
195 |
- conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.27.0-pyhd8ed1ab_0.conda
|
|
|
196 |
- conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.0-pyha770c72_0.conda
|
197 |
- conda: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.1-pyhd8ed1ab_0.conda
|
198 |
- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.2-pyhd8ed1ab_0.conda
|
@@ -202,6 +213,28 @@ environments:
|
|
202 |
- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024a-h0c530f3_0.conda
|
203 |
- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.1-pyhd8ed1ab_0.conda
|
204 |
- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
packages:
|
206 |
- kind: conda
|
207 |
name: _libgcc_mutex
|
@@ -217,21 +250,19 @@ packages:
|
|
217 |
- kind: conda
|
218 |
name: _openmp_mutex
|
219 |
version: '4.5'
|
220 |
-
build:
|
221 |
-
build_number:
|
222 |
subdir: linux-64
|
223 |
-
url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-
|
224 |
-
sha256:
|
225 |
-
md5:
|
226 |
depends:
|
227 |
- _libgcc_mutex 0.1 conda_forge
|
228 |
-
-
|
229 |
-
constrains:
|
230 |
-
- openmp_impl 9999
|
231 |
license: BSD-3-Clause
|
232 |
license_family: BSD
|
233 |
-
size:
|
234 |
-
timestamp:
|
235 |
- kind: conda
|
236 |
name: aiofiles
|
237 |
version: 23.2.1
|
@@ -245,6 +276,8 @@ packages:
|
|
245 |
- python >=3.7
|
246 |
license: Apache-2.0
|
247 |
license_family: Apache
|
|
|
|
|
248 |
size: 19507
|
249 |
timestamp: 1698946114329
|
250 |
- kind: conda
|
@@ -268,6 +301,8 @@ packages:
|
|
268 |
- typing-extensions >=4.0.1
|
269 |
license: BSD-3-Clause
|
270 |
license_family: BSD
|
|
|
|
|
271 |
size: 457454
|
272 |
timestamp: 1701735672437
|
273 |
- kind: conda
|
@@ -284,6 +319,8 @@ packages:
|
|
284 |
- typing-extensions >=4.0.0
|
285 |
license: MIT
|
286 |
license_family: MIT
|
|
|
|
|
287 |
size: 17026
|
288 |
timestamp: 1696634393637
|
289 |
- kind: conda
|
@@ -306,6 +343,8 @@ packages:
|
|
306 |
- uvloop >=0.17
|
307 |
license: MIT
|
308 |
license_family: MIT
|
|
|
|
|
309 |
size: 102331
|
310 |
timestamp: 1708355504396
|
311 |
- kind: conda
|
@@ -336,8 +375,40 @@ packages:
|
|
336 |
- python >=3.7
|
337 |
license: MIT
|
338 |
license_family: MIT
|
|
|
|
|
339 |
size: 54582
|
340 |
timestamp: 1704011393776
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
341 |
- kind: conda
|
342 |
name: brotli
|
343 |
version: 1.1.0
|
@@ -475,6 +546,8 @@ packages:
|
|
475 |
- python >=3.7
|
476 |
license: MIT
|
477 |
license_family: MIT
|
|
|
|
|
478 |
size: 46597
|
479 |
timestamp: 1698833765762
|
480 |
- kind: conda
|
@@ -491,6 +564,8 @@ packages:
|
|
491 |
- python >=3.8
|
492 |
license: BSD-3-Clause
|
493 |
license_family: BSD
|
|
|
|
|
494 |
size: 84437
|
495 |
timestamp: 1692311973840
|
496 |
- kind: conda
|
@@ -506,6 +581,8 @@ packages:
|
|
506 |
- python >=3.7
|
507 |
license: BSD-3-Clause
|
508 |
license_family: BSD
|
|
|
|
|
509 |
size: 25170
|
510 |
timestamp: 1666700778190
|
511 |
- kind: conda
|
@@ -524,6 +601,8 @@ packages:
|
|
524 |
- python_abi 3.11.* *_cp311
|
525 |
license: BSD-3-Clause
|
526 |
license_family: BSD
|
|
|
|
|
527 |
size: 255843
|
528 |
timestamp: 1699041590533
|
529 |
- kind: conda
|
@@ -539,6 +618,8 @@ packages:
|
|
539 |
- python >=3.8
|
540 |
license: BSD-3-Clause
|
541 |
license_family: BSD
|
|
|
|
|
542 |
size: 13458
|
543 |
timestamp: 1696677888423
|
544 |
- kind: conda
|
@@ -568,6 +649,8 @@ packages:
|
|
568 |
depends:
|
569 |
- python >=3.7
|
570 |
license: MIT and PSF-2.0
|
|
|
|
|
571 |
size: 20551
|
572 |
timestamp: 1704921321122
|
573 |
- kind: conda
|
@@ -602,6 +685,8 @@ packages:
|
|
602 |
- typing-extensions >=4.5.0
|
603 |
license: MIT
|
604 |
license_family: MIT
|
|
|
|
|
605 |
size: 56205
|
606 |
timestamp: 1693161441022
|
607 |
- kind: conda
|
@@ -670,6 +755,8 @@ packages:
|
|
670 |
- python >=3.6
|
671 |
license: MIT
|
672 |
license_family: MIT
|
|
|
|
|
673 |
size: 10415
|
674 |
timestamp: 1659475099796
|
675 |
- kind: conda
|
@@ -684,6 +771,8 @@ packages:
|
|
684 |
depends:
|
685 |
- python >=3.7
|
686 |
license: Unlicense
|
|
|
|
|
687 |
size: 15605
|
688 |
timestamp: 1698715139726
|
689 |
- kind: conda
|
@@ -806,6 +895,8 @@ packages:
|
|
806 |
- python_abi 3.11.* *_cp311
|
807 |
license: MIT
|
808 |
license_family: MIT
|
|
|
|
|
809 |
size: 2817685
|
810 |
timestamp: 1708049363863
|
811 |
- kind: conda
|
@@ -850,8 +941,40 @@ packages:
|
|
850 |
- python >=3.8
|
851 |
license: BSD-3-Clause
|
852 |
license_family: BSD
|
|
|
|
|
853 |
size: 128662
|
854 |
timestamp: 1707102616711
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
855 |
- kind: conda
|
856 |
name: gettext
|
857 |
version: 0.21.1
|
@@ -865,6 +988,11 @@ packages:
|
|
865 |
license: LGPL-2.1-or-later AND GPL-3.0-or-later
|
866 |
size: 4320628
|
867 |
timestamp: 1665673494324
|
|
|
|
|
|
|
|
|
|
|
868 |
- kind: conda
|
869 |
name: gmp
|
870 |
version: 6.3.0
|
@@ -879,6 +1007,28 @@ packages:
|
|
879 |
license: GPL-2.0-or-later AND LGPL-3.0-or-later
|
880 |
size: 563123
|
881 |
timestamp: 1699629991732
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
882 |
- kind: conda
|
883 |
name: gnutls
|
884 |
version: 3.7.9
|
@@ -936,6 +1086,8 @@ packages:
|
|
936 |
- typing-extensions >=4.0,<5.dev0
|
937 |
- uvicorn >=0.14.0
|
938 |
license: MIT AND Apache-2.0
|
|
|
|
|
939 |
size: 12582364
|
940 |
timestamp: 1708676706303
|
941 |
- kind: conda
|
@@ -958,8 +1110,26 @@ packages:
|
|
958 |
- websockets >=10.0,<12.0
|
959 |
license: Apache-2.0
|
960 |
license_family: APACHE
|
|
|
|
|
961 |
size: 299846
|
962 |
timestamp: 1708677035723
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
963 |
- kind: conda
|
964 |
name: graphite2
|
965 |
version: 1.3.13
|
@@ -989,6 +1159,8 @@ packages:
|
|
989 |
- typing_extensions
|
990 |
license: MIT
|
991 |
license_family: MIT
|
|
|
|
|
992 |
size: 48251
|
993 |
timestamp: 1664132995560
|
994 |
- kind: conda
|
@@ -1006,6 +1178,8 @@ packages:
|
|
1006 |
- python >=3.6.1
|
1007 |
license: MIT
|
1008 |
license_family: MIT
|
|
|
|
|
1009 |
size: 46754
|
1010 |
timestamp: 1634280590080
|
1011 |
- kind: conda
|
@@ -1041,6 +1215,8 @@ packages:
|
|
1041 |
- python
|
1042 |
license: MIT
|
1043 |
license_family: MIT
|
|
|
|
|
1044 |
size: 25341
|
1045 |
timestamp: 1598856368685
|
1046 |
- kind: conda
|
@@ -1061,6 +1237,8 @@ packages:
|
|
1061 |
- sniffio 1.*
|
1062 |
license: BSD-3-Clause
|
1063 |
license_family: BSD
|
|
|
|
|
1064 |
size: 45727
|
1065 |
timestamp: 1708529429006
|
1066 |
- kind: conda
|
@@ -1081,6 +1259,8 @@ packages:
|
|
1081 |
- sniffio
|
1082 |
license: BSD-3-Clause
|
1083 |
license_family: BSD
|
|
|
|
|
1084 |
size: 64651
|
1085 |
timestamp: 1708531043505
|
1086 |
- kind: conda
|
@@ -1103,6 +1283,8 @@ packages:
|
|
1103 |
- typing-extensions >=3.7.4.3
|
1104 |
license: Apache-2.0
|
1105 |
license_family: APACHE
|
|
|
|
|
1106 |
size: 225834
|
1107 |
timestamp: 1709252375076
|
1108 |
- kind: conda
|
@@ -1118,6 +1300,8 @@ packages:
|
|
1118 |
- python >=3.6
|
1119 |
license: MIT
|
1120 |
license_family: MIT
|
|
|
|
|
1121 |
size: 14646
|
1122 |
timestamp: 1619110249723
|
1123 |
- kind: conda
|
@@ -1148,6 +1332,8 @@ packages:
|
|
1148 |
- python >=3.6
|
1149 |
license: BSD-3-Clause
|
1150 |
license_family: BSD
|
|
|
|
|
1151 |
size: 50124
|
1152 |
timestamp: 1701027126206
|
1153 |
- kind: conda
|
@@ -1198,6 +1384,8 @@ packages:
|
|
1198 |
- importlib-resources >=6.1.2,<6.1.3.0a0
|
1199 |
license: Apache-2.0
|
1200 |
license_family: APACHE
|
|
|
|
|
1201 |
size: 30448
|
1202 |
timestamp: 1708948623752
|
1203 |
- kind: conda
|
@@ -1214,6 +1402,8 @@ packages:
|
|
1214 |
- python >=3.7
|
1215 |
license: BSD-3-Clause
|
1216 |
license_family: BSD
|
|
|
|
|
1217 |
size: 111589
|
1218 |
timestamp: 1704967140287
|
1219 |
- kind: conda
|
@@ -1252,6 +1442,8 @@ packages:
|
|
1252 |
- referencing >=0.31.0
|
1253 |
license: MIT
|
1254 |
license_family: MIT
|
|
|
|
|
1255 |
size: 16431
|
1256 |
timestamp: 1703778502971
|
1257 |
- kind: conda
|
@@ -1270,6 +1462,8 @@ packages:
|
|
1270 |
- python_abi 3.11.* *_cp311
|
1271 |
license: BSD-3-Clause
|
1272 |
license_family: BSD
|
|
|
|
|
1273 |
size: 73273
|
1274 |
timestamp: 1695380140676
|
1275 |
- kind: conda
|
@@ -1376,24 +1570,22 @@ packages:
|
|
1376 |
- kind: conda
|
1377 |
name: libblas
|
1378 |
version: 3.9.0
|
1379 |
-
build:
|
1380 |
-
build_number:
|
1381 |
subdir: linux-64
|
1382 |
-
url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-
|
1383 |
-
sha256:
|
1384 |
-
md5:
|
1385 |
depends:
|
1386 |
-
-
|
1387 |
-
-
|
1388 |
-
|
1389 |
-
|
1390 |
-
-
|
1391 |
-
- libcblas 3.9.0 21_linux64_openblas
|
1392 |
-
- liblapack 3.9.0 21_linux64_openblas
|
1393 |
license: BSD-3-Clause
|
1394 |
license_family: BSD
|
1395 |
-
size:
|
1396 |
-
timestamp:
|
1397 |
- kind: conda
|
1398 |
name: libbrotlicommon
|
1399 |
version: 1.1.0
|
@@ -1444,22 +1636,23 @@ packages:
|
|
1444 |
- kind: conda
|
1445 |
name: libcblas
|
1446 |
version: 3.9.0
|
1447 |
-
build:
|
1448 |
-
build_number:
|
1449 |
subdir: linux-64
|
1450 |
-
url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-
|
1451 |
-
sha256:
|
1452 |
-
md5:
|
1453 |
depends:
|
1454 |
-
- libblas 3.9.0
|
1455 |
-
|
1456 |
-
-
|
1457 |
-
-
|
1458 |
-
|
|
|
1459 |
license: BSD-3-Clause
|
1460 |
license_family: BSD
|
1461 |
-
size:
|
1462 |
-
timestamp:
|
1463 |
- kind: conda
|
1464 |
name: libdeflate
|
1465 |
version: '1.19'
|
@@ -1592,21 +1785,6 @@ packages:
|
|
1592 |
license: LGPL-2.1-or-later
|
1593 |
size: 2692079
|
1594 |
timestamp: 1708284870228
|
1595 |
-
- kind: conda
|
1596 |
-
name: libgomp
|
1597 |
-
version: 13.2.0
|
1598 |
-
build: h807b86a_5
|
1599 |
-
build_number: 5
|
1600 |
-
subdir: linux-64
|
1601 |
-
url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_5.conda
|
1602 |
-
sha256: 0d3d4b1b0134283ea02d58e8eb5accf3655464cf7159abf098cc694002f8d34e
|
1603 |
-
md5: d211c42b9ce49aee3734fdc828731689
|
1604 |
-
depends:
|
1605 |
-
- _libgcc_mutex 0.1 conda_forge
|
1606 |
-
license: GPL-3.0-only WITH GCC-exception-3.1
|
1607 |
-
license_family: GPL
|
1608 |
-
size: 419751
|
1609 |
-
timestamp: 1706819107383
|
1610 |
- kind: conda
|
1611 |
name: libhwloc
|
1612 |
version: 2.9.3
|
@@ -1672,22 +1850,23 @@ packages:
|
|
1672 |
- kind: conda
|
1673 |
name: liblapack
|
1674 |
version: 3.9.0
|
1675 |
-
build:
|
1676 |
-
build_number:
|
1677 |
subdir: linux-64
|
1678 |
-
url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-
|
1679 |
-
sha256:
|
1680 |
-
md5:
|
1681 |
depends:
|
1682 |
-
- libblas 3.9.0
|
1683 |
-
|
1684 |
-
-
|
1685 |
-
-
|
1686 |
-
|
|
|
1687 |
license: BSD-3-Clause
|
1688 |
license_family: BSD
|
1689 |
-
size:
|
1690 |
-
timestamp:
|
1691 |
- kind: conda
|
1692 |
name: libnsl
|
1693 |
version: 2.0.1
|
@@ -1702,24 +1881,6 @@ packages:
|
|
1702 |
license_family: GPL
|
1703 |
size: 33408
|
1704 |
timestamp: 1697359010159
|
1705 |
-
- kind: conda
|
1706 |
-
name: libopenblas
|
1707 |
-
version: 0.3.26
|
1708 |
-
build: pthreads_h413a1c8_0
|
1709 |
-
subdir: linux-64
|
1710 |
-
url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.26-pthreads_h413a1c8_0.conda
|
1711 |
-
sha256: b626954b5a1113dafec8df89fa8bf18ce9b4701464d9f084ddd7fc9fac404bbd
|
1712 |
-
md5: 760ae35415f5ba8b15d09df5afe8b23a
|
1713 |
-
depends:
|
1714 |
-
- libgcc-ng >=12
|
1715 |
-
- libgfortran-ng
|
1716 |
-
- libgfortran5 >=12.3.0
|
1717 |
-
constrains:
|
1718 |
-
- openblas >=0.3.26,<0.3.27.0a0
|
1719 |
-
license: BSD-3-Clause
|
1720 |
-
license_family: BSD
|
1721 |
-
size: 5578031
|
1722 |
-
timestamp: 1704950143521
|
1723 |
- kind: conda
|
1724 |
name: libopenvino
|
1725 |
version: 2023.3.0
|
@@ -2183,6 +2344,22 @@ packages:
|
|
2183 |
license_family: Other
|
2184 |
size: 61588
|
2185 |
timestamp: 1686575217516
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2186 |
- kind: conda
|
2187 |
name: markdown-it-py
|
2188 |
version: 3.0.0
|
@@ -2197,6 +2374,8 @@ packages:
|
|
2197 |
- python >=3.8
|
2198 |
license: MIT
|
2199 |
license_family: MIT
|
|
|
|
|
2200 |
size: 64356
|
2201 |
timestamp: 1686175179621
|
2202 |
- kind: conda
|
@@ -2215,6 +2394,8 @@ packages:
|
|
2215 |
- jinja2 >=3.0.0
|
2216 |
license: BSD-3-Clause
|
2217 |
license_family: BSD
|
|
|
|
|
2218 |
size: 27502
|
2219 |
timestamp: 1706900084436
|
2220 |
- kind: conda
|
@@ -2245,6 +2426,8 @@ packages:
|
|
2245 |
- tk >=8.6.13,<8.7.0a0
|
2246 |
license: PSF-2.0
|
2247 |
license_family: PSF
|
|
|
|
|
2248 |
size: 7927557
|
2249 |
timestamp: 1708026755428
|
2250 |
- kind: conda
|
@@ -2260,8 +2443,76 @@ packages:
|
|
2260 |
- python >=3.6
|
2261 |
license: MIT
|
2262 |
license_family: MIT
|
|
|
|
|
2263 |
size: 14680
|
2264 |
timestamp: 1704317789138
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2265 |
- kind: conda
|
2266 |
name: munkres
|
2267 |
version: 1.1.4
|
@@ -2305,6 +2556,28 @@ packages:
|
|
2305 |
license_family: GPL
|
2306 |
size: 1011638
|
2307 |
timestamp: 1686309814836
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2308 |
- kind: conda
|
2309 |
name: numpy
|
2310 |
version: 1.26.4
|
@@ -2325,8 +2598,90 @@ packages:
|
|
2325 |
- numpy-base <0a0
|
2326 |
license: BSD-3-Clause
|
2327 |
license_family: BSD
|
|
|
|
|
2328 |
size: 8065890
|
2329 |
timestamp: 1707225944355
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2330 |
- kind: conda
|
2331 |
name: ocl-icd
|
2332 |
version: 2.3.2
|
@@ -2405,6 +2760,8 @@ packages:
|
|
2405 |
- python_abi 3.11.* *_cp311
|
2406 |
license: Apache-2.0
|
2407 |
license_family: Apache
|
|
|
|
|
2408 |
size: 274831
|
2409 |
timestamp: 1708717354229
|
2410 |
- kind: conda
|
@@ -2436,6 +2793,8 @@ packages:
|
|
2436 |
- python >=3.7
|
2437 |
license: Apache-2.0
|
2438 |
license_family: APACHE
|
|
|
|
|
2439 |
size: 49452
|
2440 |
timestamp: 1696202521121
|
2441 |
- kind: conda
|
@@ -2527,6 +2886,8 @@ packages:
|
|
2527 |
depends:
|
2528 |
- python >=3.6
|
2529 |
license: MIT AND PSF-2.0
|
|
|
|
|
2530 |
size: 10778
|
2531 |
timestamp: 1694617398467
|
2532 |
- kind: conda
|
@@ -2575,6 +2936,8 @@ packages:
|
|
2575 |
- typing-extensions >=4.6.1
|
2576 |
license: MIT
|
2577 |
license_family: MIT
|
|
|
|
|
2578 |
size: 271902
|
2579 |
timestamp: 1709075341323
|
2580 |
- kind: conda
|
@@ -2592,6 +2955,8 @@ packages:
|
|
2592 |
- typing-extensions >=4.6.0,!=4.7.0
|
2593 |
license: MIT
|
2594 |
license_family: MIT
|
|
|
|
|
2595 |
size: 1659194
|
2596 |
timestamp: 1708700970198
|
2597 |
- kind: conda
|
@@ -2607,6 +2972,8 @@ packages:
|
|
2607 |
- python >=3.6
|
2608 |
license: MIT
|
2609 |
license_family: MIT
|
|
|
|
|
2610 |
size: 31190
|
2611 |
timestamp: 1615612572693
|
2612 |
- kind: conda
|
@@ -2622,6 +2989,8 @@ packages:
|
|
2622 |
- python >=3.7
|
2623 |
license: BSD-2-Clause
|
2624 |
license_family: BSD
|
|
|
|
|
2625 |
size: 860425
|
2626 |
timestamp: 1700608076927
|
2627 |
- kind: conda
|
@@ -2637,6 +3006,8 @@ packages:
|
|
2637 |
- python >=3.6
|
2638 |
license: MIT
|
2639 |
license_family: MIT
|
|
|
|
|
2640 |
size: 89521
|
2641 |
timestamp: 1690737983548
|
2642 |
- kind: conda
|
@@ -2654,6 +3025,8 @@ packages:
|
|
2654 |
- python >=3.8
|
2655 |
license: BSD-3-Clause
|
2656 |
license_family: BSD
|
|
|
|
|
2657 |
size: 18981
|
2658 |
timestamp: 1661604969727
|
2659 |
- kind: conda
|
@@ -2700,6 +3073,8 @@ packages:
|
|
2700 |
- six >=1.5
|
2701 |
license: Apache-2.0
|
2702 |
license_family: APACHE
|
|
|
|
|
2703 |
size: 222742
|
2704 |
timestamp: 1709299922152
|
2705 |
- kind: conda
|
@@ -2715,6 +3090,8 @@ packages:
|
|
2715 |
- python >=3.7
|
2716 |
license: Apache-2.0
|
2717 |
license_family: Apache
|
|
|
|
|
2718 |
size: 26439
|
2719 |
timestamp: 1707760278735
|
2720 |
- kind: conda
|
@@ -2730,6 +3107,8 @@ packages:
|
|
2730 |
- python >=3.6
|
2731 |
license: Apache-2.0
|
2732 |
license_family: APACHE
|
|
|
|
|
2733 |
size: 144024
|
2734 |
timestamp: 1707747742930
|
2735 |
- kind: conda
|
@@ -2747,6 +3126,45 @@ packages:
|
|
2747 |
license_family: BSD
|
2748 |
size: 6385
|
2749 |
timestamp: 1695147338551
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2750 |
- kind: conda
|
2751 |
name: pytz
|
2752 |
version: '2024.1'
|
@@ -2760,6 +3178,8 @@ packages:
|
|
2760 |
- python >=3.7
|
2761 |
license: MIT
|
2762 |
license_family: MIT
|
|
|
|
|
2763 |
size: 188538
|
2764 |
timestamp: 1706886944988
|
2765 |
- kind: conda
|
@@ -2811,6 +3231,8 @@ packages:
|
|
2811 |
- rpds-py >=0.7.0
|
2812 |
license: MIT
|
2813 |
license_family: MIT
|
|
|
|
|
2814 |
size: 39055
|
2815 |
timestamp: 1706711589688
|
2816 |
- kind: conda
|
@@ -2832,6 +3254,8 @@ packages:
|
|
2832 |
- chardet >=3.0.2,<6
|
2833 |
license: Apache-2.0
|
2834 |
license_family: APACHE
|
|
|
|
|
2835 |
size: 56690
|
2836 |
timestamp: 1684774408600
|
2837 |
- kind: conda
|
@@ -2866,6 +3290,8 @@ packages:
|
|
2866 |
- python_abi 3.11.* *_cp311
|
2867 |
license: MIT
|
2868 |
license_family: MIT
|
|
|
|
|
2869 |
size: 915849
|
2870 |
timestamp: 1707923007711
|
2871 |
- kind: conda
|
@@ -2883,6 +3309,8 @@ packages:
|
|
2883 |
- python_abi 3.11.* *_cp311
|
2884 |
license: MIT
|
2885 |
license_family: MIT
|
|
|
|
|
2886 |
size: 5738078
|
2887 |
timestamp: 1709229162825
|
2888 |
- kind: conda
|
@@ -2898,6 +3326,8 @@ packages:
|
|
2898 |
- python >=2.7
|
2899 |
license: BSD-2-Clause
|
2900 |
license_family: BSD
|
|
|
|
|
2901 |
size: 17923
|
2902 |
timestamp: 1653579450384
|
2903 |
- kind: conda
|
@@ -2913,6 +3343,8 @@ packages:
|
|
2913 |
- python >=3.7
|
2914 |
license: MIT
|
2915 |
license_family: MIT
|
|
|
|
|
2916 |
size: 14568
|
2917 |
timestamp: 1698144516278
|
2918 |
- kind: conda
|
@@ -2928,6 +3360,8 @@ packages:
|
|
2928 |
- python
|
2929 |
license: MIT
|
2930 |
license_family: MIT
|
|
|
|
|
2931 |
size: 14259
|
2932 |
timestamp: 1620240338595
|
2933 |
- kind: conda
|
@@ -2958,8 +3392,28 @@ packages:
|
|
2958 |
- python >=3.7
|
2959 |
license: Apache-2.0
|
2960 |
license_family: Apache
|
|
|
|
|
2961 |
size: 15064
|
2962 |
timestamp: 1708953086199
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2963 |
- kind: conda
|
2964 |
name: starlette
|
2965 |
version: 0.27.0
|
@@ -2992,6 +3446,28 @@ packages:
|
|
2992 |
license_family: BSD
|
2993 |
size: 2644060
|
2994 |
timestamp: 1702359203835
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2995 |
- kind: conda
|
2996 |
name: tbb
|
2997 |
version: 2021.11.0
|
@@ -3038,6 +3514,8 @@ packages:
|
|
3038 |
- python >=3.7
|
3039 |
license: MIT
|
3040 |
license_family: MIT
|
|
|
|
|
3041 |
size: 37086
|
3042 |
timestamp: 1690458478787
|
3043 |
- kind: conda
|
@@ -3055,6 +3533,67 @@ packages:
|
|
3055 |
license_family: BSD
|
3056 |
size: 52358
|
3057 |
timestamp: 1706112720607
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3058 |
- kind: conda
|
3059 |
name: tqdm
|
3060 |
version: 4.66.2
|
@@ -3068,8 +3607,30 @@ packages:
|
|
3068 |
- colorama
|
3069 |
- python >=3.7
|
3070 |
license: MPL-2.0 or MIT
|
|
|
|
|
3071 |
size: 89567
|
3072 |
timestamp: 1707598746354
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3073 |
- kind: conda
|
3074 |
name: typer
|
3075 |
version: 0.9.0
|
@@ -3088,6 +3649,8 @@ packages:
|
|
3088 |
- typing-extensions >=3.7.4.3
|
3089 |
license: MIT
|
3090 |
license_family: MIT
|
|
|
|
|
3091 |
size: 79064
|
3092 |
timestamp: 1683029411797
|
3093 |
- kind: conda
|
@@ -3118,6 +3681,8 @@ packages:
|
|
3118 |
- python >=3.8
|
3119 |
license: PSF-2.0
|
3120 |
license_family: PSF
|
|
|
|
|
3121 |
size: 37018
|
3122 |
timestamp: 1708904796013
|
3123 |
- kind: conda
|
@@ -3147,6 +3712,8 @@ packages:
|
|
3147 |
- python >=3.7
|
3148 |
license: MIT
|
3149 |
license_family: MIT
|
|
|
|
|
3150 |
size: 94669
|
3151 |
timestamp: 1708239595549
|
3152 |
- kind: conda
|
@@ -3181,6 +3748,8 @@ packages:
|
|
3181 |
- python_abi 3.11.* *_cp311
|
3182 |
license: BSD-3-Clause
|
3183 |
license_family: BSD
|
|
|
|
|
3184 |
size: 200745
|
3185 |
timestamp: 1695410107238
|
3186 |
- kind: conda
|
@@ -3457,6 +4026,8 @@ packages:
|
|
3457 |
- python >=3.8
|
3458 |
license: MIT
|
3459 |
license_family: MIT
|
|
|
|
|
3460 |
size: 18954
|
3461 |
timestamp: 1695255262261
|
3462 |
- kind: conda
|
|
|
3 |
default:
|
4 |
channels:
|
5 |
- url: https://conda.anaconda.org/conda-forge/
|
6 |
+
- url: https://conda.anaconda.org/pytorch/
|
7 |
packages:
|
8 |
linux-64:
|
9 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
|
10 |
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_kmp_llvm.tar.bz2
|
11 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.8.1-h59595ed_0.conda
|
12 |
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/blas-1.0-mkl.tar.bz2
|
13 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hd590300_1.conda
|
14 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hd590300_1.conda
|
15 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py311hb755f60_1.conda
|
|
|
26 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.10-h36c2ea0_0.tar.bz2
|
27 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2
|
28 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_0.conda
|
29 |
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.2-py311h6a5fa03_1.tar.bz2
|
30 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/gnutls-3.7.9-hb077bed_0.conda
|
31 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h58526e2_1001.tar.bz2
|
32 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda
|
|
|
38 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2
|
39 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.1-cxx17_h59595ed_2.conda
|
40 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.1-h8fe9dca_1.conda
|
41 |
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-1_h86c2bf4_netlib.tar.bz2
|
42 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hd590300_1.conda
|
43 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hd590300_1.conda
|
44 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hd590300_1.conda
|
45 |
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-5_h92ddd45_netlib.tar.bz2
|
46 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda
|
47 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.120-hd590300_0.conda
|
48 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.5.0-hcb278e6_1.conda
|
|
|
51 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_5.conda
|
52 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_5.conda
|
53 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.4-h783c2da_0.conda
|
|
|
54 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.9.3-default_h554bfaf_1009.conda
|
55 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda
|
56 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.7-hd590300_0.conda
|
57 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda
|
58 |
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-5_h92ddd45_netlib.tar.bz2
|
59 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda
|
|
|
60 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2023.3.0-h2e90f83_2.conda
|
61 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2023.3.0-hd5fc58b_2.conda
|
62 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2023.3.0-hd5fc58b_2.conda
|
|
|
86 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
|
87 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.12.5-h232c23b_0.conda
|
88 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda
|
89 |
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.7-h0cdce71_0.conda
|
90 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.5-py311h459d7ec_0.conda
|
91 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.3-py311h54ef318_0.conda
|
92 |
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2023.0.0-h84fe81f_26648.conda
|
93 |
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda
|
94 |
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h9458935_0.conda
|
95 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4-h59595ed_2.conda
|
96 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/nettle-3.9.1-h7ab15ed_0.conda
|
97 |
- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py311h64a7726_0.conda
|
|
|
144 |
- conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.6.0-pyhd8ed1ab_0.conda
|
145 |
- conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.3.0-pyhd8ed1ab_0.conda
|
146 |
- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-23.2.0-pyh71513ae_0.conda
|
147 |
+
- conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda
|
148 |
- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.2.2-pyhd8ed1ab_0.conda
|
149 |
- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.3.2-pyhd8ed1ab_0.conda
|
150 |
- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda
|
|
|
161 |
- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2
|
162 |
- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2
|
163 |
- conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.2.0-pyhca7485f_0.conda
|
164 |
+
- conda: https://conda.anaconda.org/conda-forge/noarch/gdown-5.1.0-pyhd8ed1ab_0.conda
|
165 |
- conda: https://conda.anaconda.org/conda-forge/noarch/gradio-4.19.2-pyhd8ed1ab_0.conda
|
166 |
- conda: https://conda.anaconda.org/conda-forge/noarch/gradio-client-0.10.1-pyhd8ed1ab_1.conda
|
167 |
- conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2
|
|
|
180 |
- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2023.12.1-pyhd8ed1ab_0.conda
|
181 |
- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda
|
182 |
- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda
|
183 |
+
- conda: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_0.conda
|
184 |
- conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2
|
185 |
+
- conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.2.1-pyhd8ed1ab_0.conda
|
186 |
- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-23.2-pyhd8ed1ab_0.conda
|
187 |
- conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda
|
188 |
- conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.6.3-pyhd8ed1ab_0.conda
|
|
|
201 |
- conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda
|
202 |
- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2
|
203 |
- conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda
|
204 |
+
- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda
|
205 |
- conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.27.0-pyhd8ed1ab_0.conda
|
206 |
+
- conda: https://conda.anaconda.org/conda-forge/noarch/sympy-1.12-pypyh9d50eac_103.conda
|
207 |
- conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.0-pyha770c72_0.conda
|
208 |
- conda: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.1-pyhd8ed1ab_0.conda
|
209 |
- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.2-pyhd8ed1ab_0.conda
|
|
|
213 |
- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024a-h0c530f3_0.conda
|
214 |
- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.1-pyhd8ed1ab_0.conda
|
215 |
- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda
|
216 |
+
- conda: https://conda.anaconda.org/pytorch/linux-64/pytorch-2.2.1-py3.11_cpu_0.tar.bz2
|
217 |
+
- conda: https://conda.anaconda.org/pytorch/linux-64/torchvision-0.17.1-py311_cpu.tar.bz2
|
218 |
+
- conda: https://conda.anaconda.org/pytorch/noarch/pytorch-mutex-1.0-cpu.tar.bz2
|
219 |
+
- pypi: https://files.pythonhosted.org/packages/01/37/e25f147a4219931ba1703f29e4d445b3b772017e9d0fa817cfe341f5fdf8/gradio_imageslider-0.0.18-py3-none-any.whl#sha256=69d3de62f86fdc6480354c7a751a9a26d16cadbf0ce792f5fb179082349686bf
|
220 |
+
- pypi: https://files.pythonhosted.org/packages/1c/0e/ff7a83382d42fdf6f3f5e1ea4b6761d45945d9901ba6900167833252b709/gradio_modal-0.0.2-py3-none-any.whl#sha256=7fb1b30dd967e5d64251b763afc922e189f24cadc1ae428126575c26cdd42b83
|
221 |
+
- pypi: https://files.pythonhosted.org/packages/1e/07/bf730d44c2fe1b676ad9cc2be5f5f861eb5d153fb6951987a2d6a96379a9/nvidia_nvjitlink_cu12-12.3.101-py3-none-manylinux1_x86_64.whl#sha256=64335a8088e2b9d196ae8665430bc6a2b7e6ef2eb877a9c735c804bd4ff6467c
|
222 |
+
- pypi: https://files.pythonhosted.org/packages/2c/df/5810707da6f2fd4be57f0cc417987c0fa16a2eecf0b1b71f82ea555dc619/torch-2.2.1-cp311-cp311-manylinux1_x86_64.whl#sha256=d86664ec85902967d902e78272e97d1aff1d331f7619d398d3ffab1c9b8e9157
|
223 |
+
- pypi: https://files.pythonhosted.org/packages/37/6d/121efd7382d5b0284239f4ab1fc1590d86d34ed4a4a2fdb13b30ca8e5740/nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl#sha256=ee53ccca76a6fc08fb9701aa95b6ceb242cdaab118c3bb152af4e579af792728
|
224 |
+
- pypi: https://files.pythonhosted.org/packages/38/00/d0d4e48aef772ad5aebcf70b73028f88db6e5640b36c38e90445b7a57c45/nvidia_nccl_cu12-2.19.3-py3-none-manylinux1_x86_64.whl#sha256=a9734707a2c96443331c1e48c717024aa6678a0e2a4cb66b2c364d18cee6b48d
|
225 |
+
- pypi: https://files.pythonhosted.org/packages/3a/49/12fc5188602c68a789a0fdaee63d176a71ad5c1e34d25aeb8554abe46089/torchvision-0.17.1-cp311-cp311-manylinux1_x86_64.whl#sha256=5966936c669a08870f6547cd0a90d08b157aeda03293f79e2adbb934687175ed
|
226 |
+
- pypi: https://files.pythonhosted.org/packages/44/31/4890b1c9abc496303412947fc7dcea3d14861720642b49e8ceed89636705/nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl#sha256=9d264c5036dde4e64f1de8c50ae753237c12e0b1348738169cd0f8a536c0e1e0
|
227 |
+
- pypi: https://files.pythonhosted.org/packages/65/5b/cfaeebf25cd9fdec14338ccb16f6b2c4c7fa9163aefcf057d86b9cc248bb/nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl#sha256=f3b50f42cf363f86ab21f720998517a659a48131e8d538dc02f8768237bd884c
|
228 |
+
- pypi: https://files.pythonhosted.org/packages/7e/00/6b218edd739ecfc60524e585ba8e6b00554dd908de2c9c66c1af3e44e18d/nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl#sha256=e54fde3983165c624cb79254ae9818a456eb6e87a7fd4d56a2352c24ee542d7e
|
229 |
+
- pypi: https://files.pythonhosted.org/packages/86/94/eb540db023ce1d162e7bea9f8f5aa781d57c65aed513c33ee9a5123ead4d/nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl#sha256=794e3948a1aa71fd817c3775866943936774d1c14e7628c74f6f7417224cdf56
|
230 |
+
- pypi: https://files.pythonhosted.org/packages/b6/9f/c64c03f49d6fbc56196664d05dba14e3a561038a81a638eeb47f4d4cfd48/nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl#sha256=339b385f50c309763ca65456ec75e17bbefcbbf2893f462cb8b90584cd27a1c2
|
231 |
+
- pypi: https://files.pythonhosted.org/packages/bc/1d/8de1e5c67099015c834315e333911273a8c6aaba78923dd1d1e25fc5f217/nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl#sha256=8a7ec542f0412294b15072fa7dab71d31334014a69f953004ea7a118206fe0dd
|
232 |
+
- pypi: https://files.pythonhosted.org/packages/bd/ac/3974caaa459bf2c3a244a84be8d17561f631f7d42af370fc311defeca2fb/triton-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=da58a152bddb62cafa9a857dd2bc1f886dbf9f9c90a2b5da82157cd2b34392b0
|
233 |
+
- pypi: https://files.pythonhosted.org/packages/d7/a5/bbbc3b74a94fbdbd7915e7ad030f16539bfdc1362f7e9003b594f0537950/glob2-0.7.tar.gz#sha256=85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c
|
234 |
+
- pypi: https://files.pythonhosted.org/packages/da/d3/8057f0587683ed2fcd4dbfbdfdfa807b9160b809976099d36b8f60d08f03/nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl#sha256=dc21cf308ca5691e7c04d962e213f8a4aa9bbfa23d95412f452254c2caeb09e5
|
235 |
+
- pypi: https://files.pythonhosted.org/packages/eb/d5/c68b1d2cdfcc59e72e8a5949a37ddb22ae6cade80cd4a57a84d4c8b55472/nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl#sha256=6e258468ddf5796e25f1dc591a31029fa317d97a0a94ed93468fc86301d61e40
|
236 |
+
- pypi: https://files.pythonhosted.org/packages/ed/1f/95cb961341bf33e534a472672ef4916c90046dc3c57b1442f5586dda72f1/geffnet-1.0.2-py3-none-any.whl#sha256=259013030bf429bc7a4fc4e8dc3fef6364e9750a6cee24d28e1674f8c3048d3a
|
237 |
+
- pypi: https://files.pythonhosted.org/packages/ff/74/a2e2be7fb83aaedec84f391f082cf765dfb635e7caa9b49065f73e4835d8/nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl#sha256=5ccb288774fdfb07a7e7025ffec286971c06d8d7b4fb162525334616d7629ff9
|
238 |
packages:
|
239 |
- kind: conda
|
240 |
name: _libgcc_mutex
|
|
|
250 |
- kind: conda
|
251 |
name: _openmp_mutex
|
252 |
version: '4.5'
|
253 |
+
build: 2_kmp_llvm
|
254 |
+
build_number: 2
|
255 |
subdir: linux-64
|
256 |
+
url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_kmp_llvm.tar.bz2
|
257 |
+
sha256: 84a66275da3a66e3f3e70e9d8f10496d807d01a9e4ec16cd2274cc5e28c478fc
|
258 |
+
md5: 562b26ba2e19059551a811e72ab7f793
|
259 |
depends:
|
260 |
- _libgcc_mutex 0.1 conda_forge
|
261 |
+
- llvm-openmp >=9.0.1
|
|
|
|
|
262 |
license: BSD-3-Clause
|
263 |
license_family: BSD
|
264 |
+
size: 5744
|
265 |
+
timestamp: 1650742457817
|
266 |
- kind: conda
|
267 |
name: aiofiles
|
268 |
version: 23.2.1
|
|
|
276 |
- python >=3.7
|
277 |
license: Apache-2.0
|
278 |
license_family: Apache
|
279 |
+
purls:
|
280 |
+
- pkg:pypi/aiofiles
|
281 |
size: 19507
|
282 |
timestamp: 1698946114329
|
283 |
- kind: conda
|
|
|
301 |
- typing-extensions >=4.0.1
|
302 |
license: BSD-3-Clause
|
303 |
license_family: BSD
|
304 |
+
purls:
|
305 |
+
- pkg:pypi/altair
|
306 |
size: 457454
|
307 |
timestamp: 1701735672437
|
308 |
- kind: conda
|
|
|
319 |
- typing-extensions >=4.0.0
|
320 |
license: MIT
|
321 |
license_family: MIT
|
322 |
+
purls:
|
323 |
+
- pkg:pypi/annotated-types
|
324 |
size: 17026
|
325 |
timestamp: 1696634393637
|
326 |
- kind: conda
|
|
|
343 |
- uvloop >=0.17
|
344 |
license: MIT
|
345 |
license_family: MIT
|
346 |
+
purls:
|
347 |
+
- pkg:pypi/anyio
|
348 |
size: 102331
|
349 |
timestamp: 1708355504396
|
350 |
- kind: conda
|
|
|
375 |
- python >=3.7
|
376 |
license: MIT
|
377 |
license_family: MIT
|
378 |
+
purls:
|
379 |
+
- pkg:pypi/attrs
|
380 |
size: 54582
|
381 |
timestamp: 1704011393776
|
382 |
+
- kind: conda
|
383 |
+
name: beautifulsoup4
|
384 |
+
version: 4.12.3
|
385 |
+
build: pyha770c72_0
|
386 |
+
subdir: noarch
|
387 |
+
noarch: python
|
388 |
+
url: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda
|
389 |
+
sha256: 7b05b2d0669029326c623b9df7a29fa49d1982a9e7e31b2fea34b4c9a4a72317
|
390 |
+
md5: 332493000404d8411859539a5a630865
|
391 |
+
depends:
|
392 |
+
- python >=3.6
|
393 |
+
- soupsieve >=1.2
|
394 |
+
license: MIT
|
395 |
+
license_family: MIT
|
396 |
+
size: 118200
|
397 |
+
timestamp: 1705564819537
|
398 |
+
- kind: conda
|
399 |
+
name: blas
|
400 |
+
version: '1.0'
|
401 |
+
build: mkl
|
402 |
+
subdir: linux-64
|
403 |
+
url: https://conda.anaconda.org/conda-forge/linux-64/blas-1.0-mkl.tar.bz2
|
404 |
+
sha256: a9a9125029a66905fc9e932dfd4f595be3a59a30db37fd7bf4a675a5c6151d62
|
405 |
+
md5: 349aef876b1d8c9dccae01de20d5b385
|
406 |
+
depends:
|
407 |
+
- mkl
|
408 |
+
track_features:
|
409 |
+
- blas_mkl
|
410 |
+
license: BSD 3-clause
|
411 |
+
size: 1381
|
412 |
- kind: conda
|
413 |
name: brotli
|
414 |
version: 1.1.0
|
|
|
546 |
- python >=3.7
|
547 |
license: MIT
|
548 |
license_family: MIT
|
549 |
+
purls:
|
550 |
+
- pkg:pypi/charset-normalizer
|
551 |
size: 46597
|
552 |
timestamp: 1698833765762
|
553 |
- kind: conda
|
|
|
564 |
- python >=3.8
|
565 |
license: BSD-3-Clause
|
566 |
license_family: BSD
|
567 |
+
purls:
|
568 |
+
- pkg:pypi/click
|
569 |
size: 84437
|
570 |
timestamp: 1692311973840
|
571 |
- kind: conda
|
|
|
581 |
- python >=3.7
|
582 |
license: BSD-3-Clause
|
583 |
license_family: BSD
|
584 |
+
purls:
|
585 |
+
- pkg:pypi/colorama
|
586 |
size: 25170
|
587 |
timestamp: 1666700778190
|
588 |
- kind: conda
|
|
|
601 |
- python_abi 3.11.* *_cp311
|
602 |
license: BSD-3-Clause
|
603 |
license_family: BSD
|
604 |
+
purls:
|
605 |
+
- pkg:pypi/contourpy
|
606 |
size: 255843
|
607 |
timestamp: 1699041590533
|
608 |
- kind: conda
|
|
|
618 |
- python >=3.8
|
619 |
license: BSD-3-Clause
|
620 |
license_family: BSD
|
621 |
+
purls:
|
622 |
+
- pkg:pypi/cycler
|
623 |
size: 13458
|
624 |
timestamp: 1696677888423
|
625 |
- kind: conda
|
|
|
649 |
depends:
|
650 |
- python >=3.7
|
651 |
license: MIT and PSF-2.0
|
652 |
+
purls:
|
653 |
+
- pkg:pypi/exceptiongroup
|
654 |
size: 20551
|
655 |
timestamp: 1704921321122
|
656 |
- kind: conda
|
|
|
685 |
- typing-extensions >=4.5.0
|
686 |
license: MIT
|
687 |
license_family: MIT
|
688 |
+
purls:
|
689 |
+
- pkg:pypi/fastapi
|
690 |
size: 56205
|
691 |
timestamp: 1693161441022
|
692 |
- kind: conda
|
|
|
755 |
- python >=3.6
|
756 |
license: MIT
|
757 |
license_family: MIT
|
758 |
+
purls:
|
759 |
+
- pkg:pypi/ffmpy
|
760 |
size: 10415
|
761 |
timestamp: 1659475099796
|
762 |
- kind: conda
|
|
|
771 |
depends:
|
772 |
- python >=3.7
|
773 |
license: Unlicense
|
774 |
+
purls:
|
775 |
+
- pkg:pypi/filelock
|
776 |
size: 15605
|
777 |
timestamp: 1698715139726
|
778 |
- kind: conda
|
|
|
895 |
- python_abi 3.11.* *_cp311
|
896 |
license: MIT
|
897 |
license_family: MIT
|
898 |
+
purls:
|
899 |
+
- pkg:pypi/fonttools
|
900 |
size: 2817685
|
901 |
timestamp: 1708049363863
|
902 |
- kind: conda
|
|
|
941 |
- python >=3.8
|
942 |
license: BSD-3-Clause
|
943 |
license_family: BSD
|
944 |
+
purls:
|
945 |
+
- pkg:pypi/fsspec
|
946 |
size: 128662
|
947 |
timestamp: 1707102616711
|
948 |
+
- kind: conda
|
949 |
+
name: gdown
|
950 |
+
version: 5.1.0
|
951 |
+
build: pyhd8ed1ab_0
|
952 |
+
subdir: noarch
|
953 |
+
noarch: python
|
954 |
+
url: https://conda.anaconda.org/conda-forge/noarch/gdown-5.1.0-pyhd8ed1ab_0.conda
|
955 |
+
sha256: 1ab1e5cf5c851f91abebfc6a6c094bc6e2afa3639e6586f6ff890acc8551a63d
|
956 |
+
md5: 6f880647c0270648f710f334c60bc76c
|
957 |
+
depends:
|
958 |
+
- beautifulsoup4
|
959 |
+
- filelock
|
960 |
+
- python >=3.8
|
961 |
+
- requests
|
962 |
+
- tqdm
|
963 |
+
license: MIT
|
964 |
+
license_family: MIT
|
965 |
+
purls:
|
966 |
+
- pkg:pypi/gdown
|
967 |
+
size: 21479
|
968 |
+
timestamp: 1706981727598
|
969 |
+
- kind: pypi
|
970 |
+
name: geffnet
|
971 |
+
version: 1.0.2
|
972 |
+
url: https://files.pythonhosted.org/packages/ed/1f/95cb961341bf33e534a472672ef4916c90046dc3c57b1442f5586dda72f1/geffnet-1.0.2-py3-none-any.whl#sha256=259013030bf429bc7a4fc4e8dc3fef6364e9750a6cee24d28e1674f8c3048d3a
|
973 |
+
sha256: 259013030bf429bc7a4fc4e8dc3fef6364e9750a6cee24d28e1674f8c3048d3a
|
974 |
+
requires_dist:
|
975 |
+
- torch >=1.4
|
976 |
+
- torchvision
|
977 |
+
requires_python: '>=3.6'
|
978 |
- kind: conda
|
979 |
name: gettext
|
980 |
version: 0.21.1
|
|
|
988 |
license: LGPL-2.1-or-later AND GPL-3.0-or-later
|
989 |
size: 4320628
|
990 |
timestamp: 1665673494324
|
991 |
+
- kind: pypi
|
992 |
+
name: glob2
|
993 |
+
version: '0.7'
|
994 |
+
url: https://files.pythonhosted.org/packages/d7/a5/bbbc3b74a94fbdbd7915e7ad030f16539bfdc1362f7e9003b594f0537950/glob2-0.7.tar.gz#sha256=85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c
|
995 |
+
sha256: 85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c
|
996 |
- kind: conda
|
997 |
name: gmp
|
998 |
version: 6.3.0
|
|
|
1007 |
license: GPL-2.0-or-later AND LGPL-3.0-or-later
|
1008 |
size: 563123
|
1009 |
timestamp: 1699629991732
|
1010 |
+
- kind: conda
|
1011 |
+
name: gmpy2
|
1012 |
+
version: 2.1.2
|
1013 |
+
build: py311h6a5fa03_1
|
1014 |
+
build_number: 1
|
1015 |
+
subdir: linux-64
|
1016 |
+
url: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.2-py311h6a5fa03_1.tar.bz2
|
1017 |
+
sha256: 20862200f4d07ba583ab6ae9b56d7de2462474240872100973711dfa20d562d7
|
1018 |
+
md5: 3515bd4a3d92bbd3cc2d25aac335e34d
|
1019 |
+
depends:
|
1020 |
+
- gmp >=6.2.1,<7.0a0
|
1021 |
+
- libgcc-ng >=12
|
1022 |
+
- mpc >=1.2.1,<2.0a0
|
1023 |
+
- mpfr >=4.1.0,<5.0a0
|
1024 |
+
- python >=3.11,<3.12.0a0
|
1025 |
+
- python_abi 3.11.* *_cp311
|
1026 |
+
license: LGPL-3.0-or-later
|
1027 |
+
license_family: LGPL
|
1028 |
+
purls:
|
1029 |
+
- pkg:pypi/gmpy2
|
1030 |
+
size: 219751
|
1031 |
+
timestamp: 1666808798297
|
1032 |
- kind: conda
|
1033 |
name: gnutls
|
1034 |
version: 3.7.9
|
|
|
1086 |
- typing-extensions >=4.0,<5.dev0
|
1087 |
- uvicorn >=0.14.0
|
1088 |
license: MIT AND Apache-2.0
|
1089 |
+
purls:
|
1090 |
+
- pkg:pypi/gradio
|
1091 |
size: 12582364
|
1092 |
timestamp: 1708676706303
|
1093 |
- kind: conda
|
|
|
1110 |
- websockets >=10.0,<12.0
|
1111 |
license: Apache-2.0
|
1112 |
license_family: APACHE
|
1113 |
+
purls:
|
1114 |
+
- pkg:pypi/gradio-client
|
1115 |
size: 299846
|
1116 |
timestamp: 1708677035723
|
1117 |
+
- kind: pypi
|
1118 |
+
name: gradio-imageslider
|
1119 |
+
version: 0.0.18
|
1120 |
+
url: https://files.pythonhosted.org/packages/01/37/e25f147a4219931ba1703f29e4d445b3b772017e9d0fa817cfe341f5fdf8/gradio_imageslider-0.0.18-py3-none-any.whl#sha256=69d3de62f86fdc6480354c7a751a9a26d16cadbf0ce792f5fb179082349686bf
|
1121 |
+
sha256: 69d3de62f86fdc6480354c7a751a9a26d16cadbf0ce792f5fb179082349686bf
|
1122 |
+
requires_python: '>=3.8'
|
1123 |
+
- kind: pypi
|
1124 |
+
name: gradio-modal
|
1125 |
+
version: 0.0.2
|
1126 |
+
url: https://files.pythonhosted.org/packages/1c/0e/ff7a83382d42fdf6f3f5e1ea4b6761d45945d9901ba6900167833252b709/gradio_modal-0.0.2-py3-none-any.whl#sha256=7fb1b30dd967e5d64251b763afc922e189f24cadc1ae428126575c26cdd42b83
|
1127 |
+
sha256: 7fb1b30dd967e5d64251b763afc922e189f24cadc1ae428126575c26cdd42b83
|
1128 |
+
requires_dist:
|
1129 |
+
- gradio <5.0, >=4.0
|
1130 |
+
- build ; extra == 'dev'
|
1131 |
+
- twine ; extra == 'dev'
|
1132 |
+
requires_python: '>=3.8'
|
1133 |
- kind: conda
|
1134 |
name: graphite2
|
1135 |
version: 1.3.13
|
|
|
1159 |
- typing_extensions
|
1160 |
license: MIT
|
1161 |
license_family: MIT
|
1162 |
+
purls:
|
1163 |
+
- pkg:pypi/h11
|
1164 |
size: 48251
|
1165 |
timestamp: 1664132995560
|
1166 |
- kind: conda
|
|
|
1178 |
- python >=3.6.1
|
1179 |
license: MIT
|
1180 |
license_family: MIT
|
1181 |
+
purls:
|
1182 |
+
- pkg:pypi/h2
|
1183 |
size: 46754
|
1184 |
timestamp: 1634280590080
|
1185 |
- kind: conda
|
|
|
1215 |
- python
|
1216 |
license: MIT
|
1217 |
license_family: MIT
|
1218 |
+
purls:
|
1219 |
+
- pkg:pypi/hpack
|
1220 |
size: 25341
|
1221 |
timestamp: 1598856368685
|
1222 |
- kind: conda
|
|
|
1237 |
- sniffio 1.*
|
1238 |
license: BSD-3-Clause
|
1239 |
license_family: BSD
|
1240 |
+
purls:
|
1241 |
+
- pkg:pypi/httpcore
|
1242 |
size: 45727
|
1243 |
timestamp: 1708529429006
|
1244 |
- kind: conda
|
|
|
1259 |
- sniffio
|
1260 |
license: BSD-3-Clause
|
1261 |
license_family: BSD
|
1262 |
+
purls:
|
1263 |
+
- pkg:pypi/httpx
|
1264 |
size: 64651
|
1265 |
timestamp: 1708531043505
|
1266 |
- kind: conda
|
|
|
1283 |
- typing-extensions >=3.7.4.3
|
1284 |
license: Apache-2.0
|
1285 |
license_family: APACHE
|
1286 |
+
purls:
|
1287 |
+
- pkg:pypi/huggingface-hub
|
1288 |
size: 225834
|
1289 |
timestamp: 1709252375076
|
1290 |
- kind: conda
|
|
|
1300 |
- python >=3.6
|
1301 |
license: MIT
|
1302 |
license_family: MIT
|
1303 |
+
purls:
|
1304 |
+
- pkg:pypi/hyperframe
|
1305 |
size: 14646
|
1306 |
timestamp: 1619110249723
|
1307 |
- kind: conda
|
|
|
1332 |
- python >=3.6
|
1333 |
license: BSD-3-Clause
|
1334 |
license_family: BSD
|
1335 |
+
purls:
|
1336 |
+
- pkg:pypi/idna
|
1337 |
size: 50124
|
1338 |
timestamp: 1701027126206
|
1339 |
- kind: conda
|
|
|
1384 |
- importlib-resources >=6.1.2,<6.1.3.0a0
|
1385 |
license: Apache-2.0
|
1386 |
license_family: APACHE
|
1387 |
+
purls:
|
1388 |
+
- pkg:pypi/importlib-resources
|
1389 |
size: 30448
|
1390 |
timestamp: 1708948623752
|
1391 |
- kind: conda
|
|
|
1402 |
- python >=3.7
|
1403 |
license: BSD-3-Clause
|
1404 |
license_family: BSD
|
1405 |
+
purls:
|
1406 |
+
- pkg:pypi/jinja2
|
1407 |
size: 111589
|
1408 |
timestamp: 1704967140287
|
1409 |
- kind: conda
|
|
|
1442 |
- referencing >=0.31.0
|
1443 |
license: MIT
|
1444 |
license_family: MIT
|
1445 |
+
purls:
|
1446 |
+
- pkg:pypi/jsonschema-specifications
|
1447 |
size: 16431
|
1448 |
timestamp: 1703778502971
|
1449 |
- kind: conda
|
|
|
1462 |
- python_abi 3.11.* *_cp311
|
1463 |
license: BSD-3-Clause
|
1464 |
license_family: BSD
|
1465 |
+
purls:
|
1466 |
+
- pkg:pypi/kiwisolver
|
1467 |
size: 73273
|
1468 |
timestamp: 1695380140676
|
1469 |
- kind: conda
|
|
|
1570 |
- kind: conda
|
1571 |
name: libblas
|
1572 |
version: 3.9.0
|
1573 |
+
build: 1_h86c2bf4_netlib
|
1574 |
+
build_number: 1
|
1575 |
subdir: linux-64
|
1576 |
+
url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-1_h86c2bf4_netlib.tar.bz2
|
1577 |
+
sha256: c95bf82fbf258350d5f61c653a1a14d2e1cca7302bb348cc8347caa84e7ac9b1
|
1578 |
+
md5: 91273b91f1023d5c72ffc79e02e7812e
|
1579 |
depends:
|
1580 |
+
- libgcc-ng >=9.3.0
|
1581 |
+
- libgfortran-ng
|
1582 |
+
- libgfortran5 >=9.3.0
|
1583 |
+
track_features:
|
1584 |
+
- blas_netlib
|
|
|
|
|
1585 |
license: BSD-3-Clause
|
1586 |
license_family: BSD
|
1587 |
+
size: 203305
|
1588 |
+
timestamp: 1603052017387
|
1589 |
- kind: conda
|
1590 |
name: libbrotlicommon
|
1591 |
version: 1.1.0
|
|
|
1636 |
- kind: conda
|
1637 |
name: libcblas
|
1638 |
version: 3.9.0
|
1639 |
+
build: 5_h92ddd45_netlib
|
1640 |
+
build_number: 5
|
1641 |
subdir: linux-64
|
1642 |
+
url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-5_h92ddd45_netlib.tar.bz2
|
1643 |
+
sha256: 93086c3586c5b1f961cb468995dc35d9b99ca8f10d0b76d594a554029f60670c
|
1644 |
+
md5: 6a3f536ec30f6e6948211a07b1d04ced
|
1645 |
depends:
|
1646 |
+
- libblas 3.9.0.*
|
1647 |
+
- libgcc-ng >=9.3.0
|
1648 |
+
- libgfortran-ng
|
1649 |
+
- libgfortran5 >=9.3.0
|
1650 |
+
track_features:
|
1651 |
+
- blas_netlib
|
1652 |
license: BSD-3-Clause
|
1653 |
license_family: BSD
|
1654 |
+
size: 55516
|
1655 |
+
timestamp: 1618011709500
|
1656 |
- kind: conda
|
1657 |
name: libdeflate
|
1658 |
version: '1.19'
|
|
|
1785 |
license: LGPL-2.1-or-later
|
1786 |
size: 2692079
|
1787 |
timestamp: 1708284870228
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1788 |
- kind: conda
|
1789 |
name: libhwloc
|
1790 |
version: 2.9.3
|
|
|
1850 |
- kind: conda
|
1851 |
name: liblapack
|
1852 |
version: 3.9.0
|
1853 |
+
build: 5_h92ddd45_netlib
|
1854 |
+
build_number: 5
|
1855 |
subdir: linux-64
|
1856 |
+
url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-5_h92ddd45_netlib.tar.bz2
|
1857 |
+
sha256: 41eb83ea6ce409fd8c81fc38e029422840f581022e6f33998a680c0b23884cd6
|
1858 |
+
md5: ffb80081cf8f43903b07045630188851
|
1859 |
depends:
|
1860 |
+
- libblas 3.9.0.*
|
1861 |
+
- libgcc-ng >=9.3.0
|
1862 |
+
- libgfortran-ng
|
1863 |
+
- libgfortran5 >=9.3.0
|
1864 |
+
track_features:
|
1865 |
+
- blas_netlib
|
1866 |
license: BSD-3-Clause
|
1867 |
license_family: BSD
|
1868 |
+
size: 3111106
|
1869 |
+
timestamp: 1618011727809
|
1870 |
- kind: conda
|
1871 |
name: libnsl
|
1872 |
version: 2.0.1
|
|
|
1881 |
license_family: GPL
|
1882 |
size: 33408
|
1883 |
timestamp: 1697359010159
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1884 |
- kind: conda
|
1885 |
name: libopenvino
|
1886 |
version: 2023.3.0
|
|
|
2344 |
license_family: Other
|
2345 |
size: 61588
|
2346 |
timestamp: 1686575217516
|
2347 |
+
- kind: conda
|
2348 |
+
name: llvm-openmp
|
2349 |
+
version: 15.0.7
|
2350 |
+
build: h0cdce71_0
|
2351 |
+
subdir: linux-64
|
2352 |
+
url: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.7-h0cdce71_0.conda
|
2353 |
+
sha256: 7c67d383a8b1f3e7bf9e046e785325c481f6868194edcfb9d78d261da4ad65d4
|
2354 |
+
md5: 589c9a3575a050b583241c3d688ad9aa
|
2355 |
+
depends:
|
2356 |
+
- libzlib >=1.2.13,<1.3.0a0
|
2357 |
+
constrains:
|
2358 |
+
- openmp 15.0.7|15.0.7.*
|
2359 |
+
license: Apache-2.0 WITH LLVM-exception
|
2360 |
+
license_family: APACHE
|
2361 |
+
size: 3268766
|
2362 |
+
timestamp: 1673584331056
|
2363 |
- kind: conda
|
2364 |
name: markdown-it-py
|
2365 |
version: 3.0.0
|
|
|
2374 |
- python >=3.8
|
2375 |
license: MIT
|
2376 |
license_family: MIT
|
2377 |
+
purls:
|
2378 |
+
- pkg:pypi/markdown-it-py
|
2379 |
size: 64356
|
2380 |
timestamp: 1686175179621
|
2381 |
- kind: conda
|
|
|
2394 |
- jinja2 >=3.0.0
|
2395 |
license: BSD-3-Clause
|
2396 |
license_family: BSD
|
2397 |
+
purls:
|
2398 |
+
- pkg:pypi/markupsafe
|
2399 |
size: 27502
|
2400 |
timestamp: 1706900084436
|
2401 |
- kind: conda
|
|
|
2426 |
- tk >=8.6.13,<8.7.0a0
|
2427 |
license: PSF-2.0
|
2428 |
license_family: PSF
|
2429 |
+
purls:
|
2430 |
+
- pkg:pypi/matplotlib
|
2431 |
size: 7927557
|
2432 |
timestamp: 1708026755428
|
2433 |
- kind: conda
|
|
|
2443 |
- python >=3.6
|
2444 |
license: MIT
|
2445 |
license_family: MIT
|
2446 |
+
purls:
|
2447 |
+
- pkg:pypi/mdurl
|
2448 |
size: 14680
|
2449 |
timestamp: 1704317789138
|
2450 |
+
- kind: conda
|
2451 |
+
name: mkl
|
2452 |
+
version: 2023.0.0
|
2453 |
+
build: h84fe81f_26648
|
2454 |
+
build_number: 26648
|
2455 |
+
subdir: linux-64
|
2456 |
+
url: https://conda.anaconda.org/conda-forge/linux-64/mkl-2023.0.0-h84fe81f_26648.conda
|
2457 |
+
sha256: 989c614ec8417a22f61e9d4ec920c88910bbc3239885a6f20ad4eacad09f277c
|
2458 |
+
md5: 2a37425a272410241c7613c38e3955b2
|
2459 |
+
depends:
|
2460 |
+
- _openmp_mutex * *_llvm
|
2461 |
+
- _openmp_mutex >=4.5
|
2462 |
+
- llvm-openmp >=15.0.7
|
2463 |
+
- tbb 2021.*
|
2464 |
+
license: LicenseRef-ProprietaryIntel
|
2465 |
+
license_family: Proprietary
|
2466 |
+
size: 161440193
|
2467 |
+
timestamp: 1674673370494
|
2468 |
+
- kind: conda
|
2469 |
+
name: mpc
|
2470 |
+
version: 1.3.1
|
2471 |
+
build: hfe3b2da_0
|
2472 |
+
subdir: linux-64
|
2473 |
+
url: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda
|
2474 |
+
sha256: 2f88965949ba7b4b21e7e5facd62285f7c6efdb17359d1b365c3bb4ecc968d29
|
2475 |
+
md5: 289c71e83dc0daa7d4c81f04180778ca
|
2476 |
+
depends:
|
2477 |
+
- gmp >=6.2.1,<7.0a0
|
2478 |
+
- libgcc-ng >=12
|
2479 |
+
- mpfr >=4.1.0,<5.0a0
|
2480 |
+
license: LGPL-3.0-or-later
|
2481 |
+
license_family: LGPL
|
2482 |
+
size: 116276
|
2483 |
+
timestamp: 1674263855481
|
2484 |
+
- kind: conda
|
2485 |
+
name: mpfr
|
2486 |
+
version: 4.2.1
|
2487 |
+
build: h9458935_0
|
2488 |
+
subdir: linux-64
|
2489 |
+
url: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h9458935_0.conda
|
2490 |
+
sha256: 008230a53ff15cf61966476b44f7ba2c779826825b9ca639a0a2b44d8f7aa6cb
|
2491 |
+
md5: 4c28f3210b30250037a4a627eeee9e0f
|
2492 |
+
depends:
|
2493 |
+
- gmp >=6.2.1,<7.0a0
|
2494 |
+
- libgcc-ng >=12
|
2495 |
+
license: LGPL-3.0-only
|
2496 |
+
license_family: LGPL
|
2497 |
+
size: 641512
|
2498 |
+
timestamp: 1698004072487
|
2499 |
+
- kind: conda
|
2500 |
+
name: mpmath
|
2501 |
+
version: 1.3.0
|
2502 |
+
build: pyhd8ed1ab_0
|
2503 |
+
subdir: noarch
|
2504 |
+
noarch: python
|
2505 |
+
url: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_0.conda
|
2506 |
+
sha256: a4f025c712ec1502a55c471b56a640eaeebfce38dd497d5a1a33729014cac47a
|
2507 |
+
md5: dbf6e2d89137da32fa6670f3bffc024e
|
2508 |
+
depends:
|
2509 |
+
- python >=3.6
|
2510 |
+
license: BSD-3-Clause
|
2511 |
+
license_family: BSD
|
2512 |
+
purls:
|
2513 |
+
- pkg:pypi/mpmath
|
2514 |
+
size: 438339
|
2515 |
+
timestamp: 1678228210181
|
2516 |
- kind: conda
|
2517 |
name: munkres
|
2518 |
version: 1.1.4
|
|
|
2556 |
license_family: GPL
|
2557 |
size: 1011638
|
2558 |
timestamp: 1686309814836
|
2559 |
+
- kind: conda
|
2560 |
+
name: networkx
|
2561 |
+
version: 3.2.1
|
2562 |
+
build: pyhd8ed1ab_0
|
2563 |
+
subdir: noarch
|
2564 |
+
noarch: python
|
2565 |
+
url: https://conda.anaconda.org/conda-forge/noarch/networkx-3.2.1-pyhd8ed1ab_0.conda
|
2566 |
+
sha256: 7629aa4f9f8cdff45ea7a4701fe58dccce5bf2faa01c26eb44cbb27b7e15ca9d
|
2567 |
+
md5: 425fce3b531bed6ec3c74fab3e5f0a1c
|
2568 |
+
depends:
|
2569 |
+
- python >=3.9
|
2570 |
+
constrains:
|
2571 |
+
- matplotlib >=3.5
|
2572 |
+
- scipy >=1.9,!=1.11.0,!=1.11.1
|
2573 |
+
- numpy >=1.22
|
2574 |
+
- pandas >=1.4
|
2575 |
+
license: BSD-3-Clause
|
2576 |
+
license_family: BSD
|
2577 |
+
purls:
|
2578 |
+
- pkg:pypi/networkx
|
2579 |
+
size: 1149552
|
2580 |
+
timestamp: 1698504905258
|
2581 |
- kind: conda
|
2582 |
name: numpy
|
2583 |
version: 1.26.4
|
|
|
2598 |
- numpy-base <0a0
|
2599 |
license: BSD-3-Clause
|
2600 |
license_family: BSD
|
2601 |
+
purls:
|
2602 |
+
- pkg:pypi/numpy
|
2603 |
size: 8065890
|
2604 |
timestamp: 1707225944355
|
2605 |
+
- kind: pypi
|
2606 |
+
name: nvidia-cublas-cu12
|
2607 |
+
version: 12.1.3.1
|
2608 |
+
url: https://files.pythonhosted.org/packages/37/6d/121efd7382d5b0284239f4ab1fc1590d86d34ed4a4a2fdb13b30ca8e5740/nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl#sha256=ee53ccca76a6fc08fb9701aa95b6ceb242cdaab118c3bb152af4e579af792728
|
2609 |
+
sha256: ee53ccca76a6fc08fb9701aa95b6ceb242cdaab118c3bb152af4e579af792728
|
2610 |
+
requires_python: '>=3'
|
2611 |
+
- kind: pypi
|
2612 |
+
name: nvidia-cuda-cupti-cu12
|
2613 |
+
version: 12.1.105
|
2614 |
+
url: https://files.pythonhosted.org/packages/7e/00/6b218edd739ecfc60524e585ba8e6b00554dd908de2c9c66c1af3e44e18d/nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl#sha256=e54fde3983165c624cb79254ae9818a456eb6e87a7fd4d56a2352c24ee542d7e
|
2615 |
+
sha256: e54fde3983165c624cb79254ae9818a456eb6e87a7fd4d56a2352c24ee542d7e
|
2616 |
+
requires_python: '>=3'
|
2617 |
+
- kind: pypi
|
2618 |
+
name: nvidia-cuda-nvrtc-cu12
|
2619 |
+
version: 12.1.105
|
2620 |
+
url: https://files.pythonhosted.org/packages/b6/9f/c64c03f49d6fbc56196664d05dba14e3a561038a81a638eeb47f4d4cfd48/nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl#sha256=339b385f50c309763ca65456ec75e17bbefcbbf2893f462cb8b90584cd27a1c2
|
2621 |
+
sha256: 339b385f50c309763ca65456ec75e17bbefcbbf2893f462cb8b90584cd27a1c2
|
2622 |
+
requires_python: '>=3'
|
2623 |
+
- kind: pypi
|
2624 |
+
name: nvidia-cuda-runtime-cu12
|
2625 |
+
version: 12.1.105
|
2626 |
+
url: https://files.pythonhosted.org/packages/eb/d5/c68b1d2cdfcc59e72e8a5949a37ddb22ae6cade80cd4a57a84d4c8b55472/nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl#sha256=6e258468ddf5796e25f1dc591a31029fa317d97a0a94ed93468fc86301d61e40
|
2627 |
+
sha256: 6e258468ddf5796e25f1dc591a31029fa317d97a0a94ed93468fc86301d61e40
|
2628 |
+
requires_python: '>=3'
|
2629 |
+
- kind: pypi
|
2630 |
+
name: nvidia-cudnn-cu12
|
2631 |
+
version: 8.9.2.26
|
2632 |
+
url: https://files.pythonhosted.org/packages/ff/74/a2e2be7fb83aaedec84f391f082cf765dfb635e7caa9b49065f73e4835d8/nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl#sha256=5ccb288774fdfb07a7e7025ffec286971c06d8d7b4fb162525334616d7629ff9
|
2633 |
+
sha256: 5ccb288774fdfb07a7e7025ffec286971c06d8d7b4fb162525334616d7629ff9
|
2634 |
+
requires_dist:
|
2635 |
+
- nvidia-cublas-cu12
|
2636 |
+
requires_python: '>=3'
|
2637 |
+
- kind: pypi
|
2638 |
+
name: nvidia-cufft-cu12
|
2639 |
+
version: 11.0.2.54
|
2640 |
+
url: https://files.pythonhosted.org/packages/86/94/eb540db023ce1d162e7bea9f8f5aa781d57c65aed513c33ee9a5123ead4d/nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl#sha256=794e3948a1aa71fd817c3775866943936774d1c14e7628c74f6f7417224cdf56
|
2641 |
+
sha256: 794e3948a1aa71fd817c3775866943936774d1c14e7628c74f6f7417224cdf56
|
2642 |
+
requires_python: '>=3'
|
2643 |
+
- kind: pypi
|
2644 |
+
name: nvidia-curand-cu12
|
2645 |
+
version: 10.3.2.106
|
2646 |
+
url: https://files.pythonhosted.org/packages/44/31/4890b1c9abc496303412947fc7dcea3d14861720642b49e8ceed89636705/nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl#sha256=9d264c5036dde4e64f1de8c50ae753237c12e0b1348738169cd0f8a536c0e1e0
|
2647 |
+
sha256: 9d264c5036dde4e64f1de8c50ae753237c12e0b1348738169cd0f8a536c0e1e0
|
2648 |
+
requires_python: '>=3'
|
2649 |
+
- kind: pypi
|
2650 |
+
name: nvidia-cusolver-cu12
|
2651 |
+
version: 11.4.5.107
|
2652 |
+
url: https://files.pythonhosted.org/packages/bc/1d/8de1e5c67099015c834315e333911273a8c6aaba78923dd1d1e25fc5f217/nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl#sha256=8a7ec542f0412294b15072fa7dab71d31334014a69f953004ea7a118206fe0dd
|
2653 |
+
sha256: 8a7ec542f0412294b15072fa7dab71d31334014a69f953004ea7a118206fe0dd
|
2654 |
+
requires_dist:
|
2655 |
+
- nvidia-cublas-cu12
|
2656 |
+
- nvidia-nvjitlink-cu12
|
2657 |
+
- nvidia-cusparse-cu12
|
2658 |
+
requires_python: '>=3'
|
2659 |
+
- kind: pypi
|
2660 |
+
name: nvidia-cusparse-cu12
|
2661 |
+
version: 12.1.0.106
|
2662 |
+
url: https://files.pythonhosted.org/packages/65/5b/cfaeebf25cd9fdec14338ccb16f6b2c4c7fa9163aefcf057d86b9cc248bb/nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl#sha256=f3b50f42cf363f86ab21f720998517a659a48131e8d538dc02f8768237bd884c
|
2663 |
+
sha256: f3b50f42cf363f86ab21f720998517a659a48131e8d538dc02f8768237bd884c
|
2664 |
+
requires_dist:
|
2665 |
+
- nvidia-nvjitlink-cu12
|
2666 |
+
requires_python: '>=3'
|
2667 |
+
- kind: pypi
|
2668 |
+
name: nvidia-nccl-cu12
|
2669 |
+
version: 2.19.3
|
2670 |
+
url: https://files.pythonhosted.org/packages/38/00/d0d4e48aef772ad5aebcf70b73028f88db6e5640b36c38e90445b7a57c45/nvidia_nccl_cu12-2.19.3-py3-none-manylinux1_x86_64.whl#sha256=a9734707a2c96443331c1e48c717024aa6678a0e2a4cb66b2c364d18cee6b48d
|
2671 |
+
sha256: a9734707a2c96443331c1e48c717024aa6678a0e2a4cb66b2c364d18cee6b48d
|
2672 |
+
requires_python: '>=3'
|
2673 |
+
- kind: pypi
|
2674 |
+
name: nvidia-nvjitlink-cu12
|
2675 |
+
version: 12.3.101
|
2676 |
+
url: https://files.pythonhosted.org/packages/1e/07/bf730d44c2fe1b676ad9cc2be5f5f861eb5d153fb6951987a2d6a96379a9/nvidia_nvjitlink_cu12-12.3.101-py3-none-manylinux1_x86_64.whl#sha256=64335a8088e2b9d196ae8665430bc6a2b7e6ef2eb877a9c735c804bd4ff6467c
|
2677 |
+
sha256: 64335a8088e2b9d196ae8665430bc6a2b7e6ef2eb877a9c735c804bd4ff6467c
|
2678 |
+
requires_python: '>=3'
|
2679 |
+
- kind: pypi
|
2680 |
+
name: nvidia-nvtx-cu12
|
2681 |
+
version: 12.1.105
|
2682 |
+
url: https://files.pythonhosted.org/packages/da/d3/8057f0587683ed2fcd4dbfbdfdfa807b9160b809976099d36b8f60d08f03/nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl#sha256=dc21cf308ca5691e7c04d962e213f8a4aa9bbfa23d95412f452254c2caeb09e5
|
2683 |
+
sha256: dc21cf308ca5691e7c04d962e213f8a4aa9bbfa23d95412f452254c2caeb09e5
|
2684 |
+
requires_python: '>=3'
|
2685 |
- kind: conda
|
2686 |
name: ocl-icd
|
2687 |
version: 2.3.2
|
|
|
2760 |
- python_abi 3.11.* *_cp311
|
2761 |
license: Apache-2.0
|
2762 |
license_family: Apache
|
2763 |
+
purls:
|
2764 |
+
- pkg:pypi/orjson
|
2765 |
size: 274831
|
2766 |
timestamp: 1708717354229
|
2767 |
- kind: conda
|
|
|
2793 |
- python >=3.7
|
2794 |
license: Apache-2.0
|
2795 |
license_family: APACHE
|
2796 |
+
purls:
|
2797 |
+
- pkg:pypi/packaging
|
2798 |
size: 49452
|
2799 |
timestamp: 1696202521121
|
2800 |
- kind: conda
|
|
|
2886 |
depends:
|
2887 |
- python >=3.6
|
2888 |
license: MIT AND PSF-2.0
|
2889 |
+
purls:
|
2890 |
+
- pkg:pypi/pkgutil-resolve-name
|
2891 |
size: 10778
|
2892 |
timestamp: 1694617398467
|
2893 |
- kind: conda
|
|
|
2936 |
- typing-extensions >=4.6.1
|
2937 |
license: MIT
|
2938 |
license_family: MIT
|
2939 |
+
purls:
|
2940 |
+
- pkg:pypi/pydantic
|
2941 |
size: 271902
|
2942 |
timestamp: 1709075341323
|
2943 |
- kind: conda
|
|
|
2955 |
- typing-extensions >=4.6.0,!=4.7.0
|
2956 |
license: MIT
|
2957 |
license_family: MIT
|
2958 |
+
purls:
|
2959 |
+
- pkg:pypi/pydantic-core
|
2960 |
size: 1659194
|
2961 |
timestamp: 1708700970198
|
2962 |
- kind: conda
|
|
|
2972 |
- python >=3.6
|
2973 |
license: MIT
|
2974 |
license_family: MIT
|
2975 |
+
purls:
|
2976 |
+
- pkg:pypi/pydub
|
2977 |
size: 31190
|
2978 |
timestamp: 1615612572693
|
2979 |
- kind: conda
|
|
|
2989 |
- python >=3.7
|
2990 |
license: BSD-2-Clause
|
2991 |
license_family: BSD
|
2992 |
+
purls:
|
2993 |
+
- pkg:pypi/pygments
|
2994 |
size: 860425
|
2995 |
timestamp: 1700608076927
|
2996 |
- kind: conda
|
|
|
3006 |
- python >=3.6
|
3007 |
license: MIT
|
3008 |
license_family: MIT
|
3009 |
+
purls:
|
3010 |
+
- pkg:pypi/pyparsing
|
3011 |
size: 89521
|
3012 |
timestamp: 1690737983548
|
3013 |
- kind: conda
|
|
|
3025 |
- python >=3.8
|
3026 |
license: BSD-3-Clause
|
3027 |
license_family: BSD
|
3028 |
+
purls:
|
3029 |
+
- pkg:pypi/pysocks
|
3030 |
size: 18981
|
3031 |
timestamp: 1661604969727
|
3032 |
- kind: conda
|
|
|
3073 |
- six >=1.5
|
3074 |
license: Apache-2.0
|
3075 |
license_family: APACHE
|
3076 |
+
purls:
|
3077 |
+
- pkg:pypi/python-dateutil
|
3078 |
size: 222742
|
3079 |
timestamp: 1709299922152
|
3080 |
- kind: conda
|
|
|
3090 |
- python >=3.7
|
3091 |
license: Apache-2.0
|
3092 |
license_family: Apache
|
3093 |
+
purls:
|
3094 |
+
- pkg:pypi/python-multipart
|
3095 |
size: 26439
|
3096 |
timestamp: 1707760278735
|
3097 |
- kind: conda
|
|
|
3107 |
- python >=3.6
|
3108 |
license: Apache-2.0
|
3109 |
license_family: APACHE
|
3110 |
+
purls:
|
3111 |
+
- pkg:pypi/tzdata
|
3112 |
size: 144024
|
3113 |
timestamp: 1707747742930
|
3114 |
- kind: conda
|
|
|
3126 |
license_family: BSD
|
3127 |
size: 6385
|
3128 |
timestamp: 1695147338551
|
3129 |
+
- kind: conda
|
3130 |
+
name: pytorch
|
3131 |
+
version: 2.2.1
|
3132 |
+
build: py3.11_cpu_0
|
3133 |
+
subdir: linux-64
|
3134 |
+
url: https://conda.anaconda.org/pytorch/linux-64/pytorch-2.2.1-py3.11_cpu_0.tar.bz2
|
3135 |
+
sha256: a7397aaeb0a67d73bfca7f3e6c1a29286ff57fc7e6c3b510fe9271ab906f0848
|
3136 |
+
md5: 00b065484baa6166c50a5f067980edca
|
3137 |
+
depends:
|
3138 |
+
- blas * mkl
|
3139 |
+
- filelock
|
3140 |
+
- jinja2
|
3141 |
+
- llvm-openmp <16
|
3142 |
+
- mkl >=2018
|
3143 |
+
- networkx
|
3144 |
+
- python >=3.11,<3.12.0a0
|
3145 |
+
- pytorch-mutex 1.0 cpu
|
3146 |
+
- pyyaml
|
3147 |
+
- sympy
|
3148 |
+
- typing_extensions
|
3149 |
+
constrains:
|
3150 |
+
- cpuonly
|
3151 |
+
license: BSD 3-Clause
|
3152 |
+
license_family: BSD
|
3153 |
+
size: 86421712
|
3154 |
+
timestamp: 1708027733815
|
3155 |
+
- kind: conda
|
3156 |
+
name: pytorch-mutex
|
3157 |
+
version: '1.0'
|
3158 |
+
build: cpu
|
3159 |
+
subdir: noarch
|
3160 |
+
noarch: generic
|
3161 |
+
url: https://conda.anaconda.org/pytorch/noarch/pytorch-mutex-1.0-cpu.tar.bz2
|
3162 |
+
sha256: d48c964188ca49660d750cffd73698d217cf94e694cd51987f9f186425435e76
|
3163 |
+
md5: 49565ed726991fd28d08a39885caa88d
|
3164 |
+
track_features:
|
3165 |
+
- pytorch-mutex
|
3166 |
+
size: 2897
|
3167 |
+
timestamp: 1628062935164
|
3168 |
- kind: conda
|
3169 |
name: pytz
|
3170 |
version: '2024.1'
|
|
|
3178 |
- python >=3.7
|
3179 |
license: MIT
|
3180 |
license_family: MIT
|
3181 |
+
purls:
|
3182 |
+
- pkg:pypi/pytz
|
3183 |
size: 188538
|
3184 |
timestamp: 1706886944988
|
3185 |
- kind: conda
|
|
|
3231 |
- rpds-py >=0.7.0
|
3232 |
license: MIT
|
3233 |
license_family: MIT
|
3234 |
+
purls:
|
3235 |
+
- pkg:pypi/referencing
|
3236 |
size: 39055
|
3237 |
timestamp: 1706711589688
|
3238 |
- kind: conda
|
|
|
3254 |
- chardet >=3.0.2,<6
|
3255 |
license: Apache-2.0
|
3256 |
license_family: APACHE
|
3257 |
+
purls:
|
3258 |
+
- pkg:pypi/requests
|
3259 |
size: 56690
|
3260 |
timestamp: 1684774408600
|
3261 |
- kind: conda
|
|
|
3290 |
- python_abi 3.11.* *_cp311
|
3291 |
license: MIT
|
3292 |
license_family: MIT
|
3293 |
+
purls:
|
3294 |
+
- pkg:pypi/rpds-py
|
3295 |
size: 915849
|
3296 |
timestamp: 1707923007711
|
3297 |
- kind: conda
|
|
|
3309 |
- python_abi 3.11.* *_cp311
|
3310 |
license: MIT
|
3311 |
license_family: MIT
|
3312 |
+
purls:
|
3313 |
+
- pkg:pypi/ruff
|
3314 |
size: 5738078
|
3315 |
timestamp: 1709229162825
|
3316 |
- kind: conda
|
|
|
3326 |
- python >=2.7
|
3327 |
license: BSD-2-Clause
|
3328 |
license_family: BSD
|
3329 |
+
purls:
|
3330 |
+
- pkg:pypi/semantic-version
|
3331 |
size: 17923
|
3332 |
timestamp: 1653579450384
|
3333 |
- kind: conda
|
|
|
3343 |
- python >=3.7
|
3344 |
license: MIT
|
3345 |
license_family: MIT
|
3346 |
+
purls:
|
3347 |
+
- pkg:pypi/shellingham
|
3348 |
size: 14568
|
3349 |
timestamp: 1698144516278
|
3350 |
- kind: conda
|
|
|
3360 |
- python
|
3361 |
license: MIT
|
3362 |
license_family: MIT
|
3363 |
+
purls:
|
3364 |
+
- pkg:pypi/six
|
3365 |
size: 14259
|
3366 |
timestamp: 1620240338595
|
3367 |
- kind: conda
|
|
|
3392 |
- python >=3.7
|
3393 |
license: Apache-2.0
|
3394 |
license_family: Apache
|
3395 |
+
purls:
|
3396 |
+
- pkg:pypi/sniffio
|
3397 |
size: 15064
|
3398 |
timestamp: 1708953086199
|
3399 |
+
- kind: conda
|
3400 |
+
name: soupsieve
|
3401 |
+
version: '2.5'
|
3402 |
+
build: pyhd8ed1ab_1
|
3403 |
+
build_number: 1
|
3404 |
+
subdir: noarch
|
3405 |
+
noarch: python
|
3406 |
+
url: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda
|
3407 |
+
sha256: 54ae221033db8fbcd4998ccb07f3c3828b4d77e73b0c72b18c1d6a507059059c
|
3408 |
+
md5: 3f144b2c34f8cb5a9abd9ed23a39c561
|
3409 |
+
depends:
|
3410 |
+
- python >=3.8
|
3411 |
+
license: MIT
|
3412 |
+
license_family: MIT
|
3413 |
+
purls:
|
3414 |
+
- pkg:pypi/soupsieve
|
3415 |
+
size: 36754
|
3416 |
+
timestamp: 1693929424267
|
3417 |
- kind: conda
|
3418 |
name: starlette
|
3419 |
version: 0.27.0
|
|
|
3446 |
license_family: BSD
|
3447 |
size: 2644060
|
3448 |
timestamp: 1702359203835
|
3449 |
+
- kind: conda
|
3450 |
+
name: sympy
|
3451 |
+
version: '1.12'
|
3452 |
+
build: pypyh9d50eac_103
|
3453 |
+
build_number: 103
|
3454 |
+
subdir: noarch
|
3455 |
+
noarch: python
|
3456 |
+
url: https://conda.anaconda.org/conda-forge/noarch/sympy-1.12-pypyh9d50eac_103.conda
|
3457 |
+
sha256: 0025dd4e6411423903bf478d1b9fbff0cbbbe546f51c9375dfd6729ef2e1a1ac
|
3458 |
+
md5: 2f7d6347d7acf6edf1ac7f2189f44c8f
|
3459 |
+
depends:
|
3460 |
+
- __unix
|
3461 |
+
- gmpy2 >=2.0.8
|
3462 |
+
- mpmath >=0.19
|
3463 |
+
- python * *_cpython
|
3464 |
+
- python >=3.8
|
3465 |
+
license: BSD-3-Clause
|
3466 |
+
license_family: BSD
|
3467 |
+
purls:
|
3468 |
+
- pkg:pypi/sympy
|
3469 |
+
size: 4256289
|
3470 |
+
timestamp: 1684180689319
|
3471 |
- kind: conda
|
3472 |
name: tbb
|
3473 |
version: 2021.11.0
|
|
|
3514 |
- python >=3.7
|
3515 |
license: MIT
|
3516 |
license_family: MIT
|
3517 |
+
purls:
|
3518 |
+
- pkg:pypi/tomlkit
|
3519 |
size: 37086
|
3520 |
timestamp: 1690458478787
|
3521 |
- kind: conda
|
|
|
3533 |
license_family: BSD
|
3534 |
size: 52358
|
3535 |
timestamp: 1706112720607
|
3536 |
+
- kind: pypi
|
3537 |
+
name: torch
|
3538 |
+
version: 2.2.1
|
3539 |
+
url: https://files.pythonhosted.org/packages/2c/df/5810707da6f2fd4be57f0cc417987c0fa16a2eecf0b1b71f82ea555dc619/torch-2.2.1-cp311-cp311-manylinux1_x86_64.whl#sha256=d86664ec85902967d902e78272e97d1aff1d331f7619d398d3ffab1c9b8e9157
|
3540 |
+
sha256: d86664ec85902967d902e78272e97d1aff1d331f7619d398d3ffab1c9b8e9157
|
3541 |
+
requires_dist:
|
3542 |
+
- filelock
|
3543 |
+
- typing-extensions >=4.8.0
|
3544 |
+
- sympy
|
3545 |
+
- networkx
|
3546 |
+
- jinja2
|
3547 |
+
- fsspec
|
3548 |
+
- nvidia-cuda-nvrtc-cu12 ==12.1.105 ; platform_system == 'Linux' and platform_machine == 'x86_64'
|
3549 |
+
- nvidia-cuda-runtime-cu12 ==12.1.105 ; platform_system == 'Linux' and platform_machine == 'x86_64'
|
3550 |
+
- nvidia-cuda-cupti-cu12 ==12.1.105 ; platform_system == 'Linux' and platform_machine == 'x86_64'
|
3551 |
+
- nvidia-cudnn-cu12 ==8.9.2.26 ; platform_system == 'Linux' and platform_machine == 'x86_64'
|
3552 |
+
- nvidia-cublas-cu12 ==12.1.3.1 ; platform_system == 'Linux' and platform_machine == 'x86_64'
|
3553 |
+
- nvidia-cufft-cu12 ==11.0.2.54 ; platform_system == 'Linux' and platform_machine == 'x86_64'
|
3554 |
+
- nvidia-curand-cu12 ==10.3.2.106 ; platform_system == 'Linux' and platform_machine == 'x86_64'
|
3555 |
+
- nvidia-cusolver-cu12 ==11.4.5.107 ; platform_system == 'Linux' and platform_machine == 'x86_64'
|
3556 |
+
- nvidia-cusparse-cu12 ==12.1.0.106 ; platform_system == 'Linux' and platform_machine == 'x86_64'
|
3557 |
+
- nvidia-nccl-cu12 ==2.19.3 ; platform_system == 'Linux' and platform_machine == 'x86_64'
|
3558 |
+
- nvidia-nvtx-cu12 ==12.1.105 ; platform_system == 'Linux' and platform_machine == 'x86_64'
|
3559 |
+
- triton ==2.2.0 ; platform_system == 'Linux' and platform_machine == 'x86_64' and python_version < '3.12'
|
3560 |
+
- opt-einsum >=3.3 ; extra == 'opt-einsum'
|
3561 |
+
- optree >=0.9.1 ; extra == 'optree'
|
3562 |
+
requires_python: '>=3.8.0'
|
3563 |
+
- kind: pypi
|
3564 |
+
name: torchvision
|
3565 |
+
version: 0.17.1
|
3566 |
+
url: https://files.pythonhosted.org/packages/3a/49/12fc5188602c68a789a0fdaee63d176a71ad5c1e34d25aeb8554abe46089/torchvision-0.17.1-cp311-cp311-manylinux1_x86_64.whl#sha256=5966936c669a08870f6547cd0a90d08b157aeda03293f79e2adbb934687175ed
|
3567 |
+
sha256: 5966936c669a08870f6547cd0a90d08b157aeda03293f79e2adbb934687175ed
|
3568 |
+
requires_dist:
|
3569 |
+
- numpy
|
3570 |
+
- torch ==2.2.1
|
3571 |
+
- pillow !=8.3.*, >=5.3.0
|
3572 |
+
- scipy ; extra == 'scipy'
|
3573 |
+
requires_python: '>=3.8'
|
3574 |
+
- kind: conda
|
3575 |
+
name: torchvision
|
3576 |
+
version: 0.17.1
|
3577 |
+
build: py311_cpu
|
3578 |
+
subdir: linux-64
|
3579 |
+
url: https://conda.anaconda.org/pytorch/linux-64/torchvision-0.17.1-py311_cpu.tar.bz2
|
3580 |
+
sha256: 4ec2bd12953402d2304d3ae5f752d3597a3d3336ad523dff4f6c4107e27a80ab
|
3581 |
+
md5: c30958c550b69bba88314247da8a6a5d
|
3582 |
+
depends:
|
3583 |
+
- ffmpeg >=4.2
|
3584 |
+
- libjpeg-turbo
|
3585 |
+
- libpng
|
3586 |
+
- numpy >=1.23.5
|
3587 |
+
- pillow >=5.3.0,!=8.3.*
|
3588 |
+
- python >=3.11,<3.12.0a0
|
3589 |
+
- pytorch 2.2.1
|
3590 |
+
- pytorch-mutex 1.0 cpu
|
3591 |
+
- requests
|
3592 |
+
constrains:
|
3593 |
+
- cpuonly
|
3594 |
+
license: BSD
|
3595 |
+
size: 7351821
|
3596 |
+
timestamp: 1708371226538
|
3597 |
- kind: conda
|
3598 |
name: tqdm
|
3599 |
version: 4.66.2
|
|
|
3607 |
- colorama
|
3608 |
- python >=3.7
|
3609 |
license: MPL-2.0 or MIT
|
3610 |
+
purls:
|
3611 |
+
- pkg:pypi/tqdm
|
3612 |
size: 89567
|
3613 |
timestamp: 1707598746354
|
3614 |
+
- kind: pypi
|
3615 |
+
name: triton
|
3616 |
+
version: 2.2.0
|
3617 |
+
url: https://files.pythonhosted.org/packages/bd/ac/3974caaa459bf2c3a244a84be8d17561f631f7d42af370fc311defeca2fb/triton-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=da58a152bddb62cafa9a857dd2bc1f886dbf9f9c90a2b5da82157cd2b34392b0
|
3618 |
+
sha256: da58a152bddb62cafa9a857dd2bc1f886dbf9f9c90a2b5da82157cd2b34392b0
|
3619 |
+
requires_dist:
|
3620 |
+
- filelock
|
3621 |
+
- cmake >=3.20 ; extra == 'build'
|
3622 |
+
- lit ; extra == 'build'
|
3623 |
+
- autopep8 ; extra == 'tests'
|
3624 |
+
- flake8 ; extra == 'tests'
|
3625 |
+
- isort ; extra == 'tests'
|
3626 |
+
- numpy ; extra == 'tests'
|
3627 |
+
- pytest ; extra == 'tests'
|
3628 |
+
- scipy >=1.7.1 ; extra == 'tests'
|
3629 |
+
- torch ; extra == 'tests'
|
3630 |
+
- matplotlib ; extra == 'tutorials'
|
3631 |
+
- pandas ; extra == 'tutorials'
|
3632 |
+
- tabulate ; extra == 'tutorials'
|
3633 |
+
- torch ; extra == 'tutorials'
|
3634 |
- kind: conda
|
3635 |
name: typer
|
3636 |
version: 0.9.0
|
|
|
3649 |
- typing-extensions >=3.7.4.3
|
3650 |
license: MIT
|
3651 |
license_family: MIT
|
3652 |
+
purls:
|
3653 |
+
- pkg:pypi/typer
|
3654 |
size: 79064
|
3655 |
timestamp: 1683029411797
|
3656 |
- kind: conda
|
|
|
3681 |
- python >=3.8
|
3682 |
license: PSF-2.0
|
3683 |
license_family: PSF
|
3684 |
+
purls:
|
3685 |
+
- pkg:pypi/typing-extensions
|
3686 |
size: 37018
|
3687 |
timestamp: 1708904796013
|
3688 |
- kind: conda
|
|
|
3712 |
- python >=3.7
|
3713 |
license: MIT
|
3714 |
license_family: MIT
|
3715 |
+
purls:
|
3716 |
+
- pkg:pypi/urllib3
|
3717 |
size: 94669
|
3718 |
timestamp: 1708239595549
|
3719 |
- kind: conda
|
|
|
3748 |
- python_abi 3.11.* *_cp311
|
3749 |
license: BSD-3-Clause
|
3750 |
license_family: BSD
|
3751 |
+
purls:
|
3752 |
+
- pkg:pypi/websockets
|
3753 |
size: 200745
|
3754 |
timestamp: 1695410107238
|
3755 |
- kind: conda
|
|
|
4026 |
- python >=3.8
|
4027 |
license: MIT
|
4028 |
license_family: MIT
|
4029 |
+
purls:
|
4030 |
+
- pkg:pypi/zipp
|
4031 |
size: 18954
|
4032 |
timestamp: 1695255262261
|
4033 |
- kind: conda
|
pixi.toml
CHANGED
@@ -3,12 +3,22 @@ name = "DSINE-space"
|
|
3 |
version = "0.1.0"
|
4 |
description = "Add a short description here"
|
5 |
authors = ["pablovela5620 <pablovela5620@gmail.com>"]
|
6 |
-
channels = ["conda-forge"]
|
7 |
platforms = ["linux-64"]
|
8 |
|
9 |
[tasks]
|
10 |
-
|
|
|
11 |
|
12 |
[dependencies]
|
13 |
python = "3.11.*"
|
|
|
|
|
14 |
gradio = ">=4.19.2,<4.20"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
version = "0.1.0"
|
4 |
description = "Add a short description here"
|
5 |
authors = ["pablovela5620 <pablovela5620@gmail.com>"]
|
6 |
+
channels = ["conda-forge", "pytorch"]
|
7 |
platforms = ["linux-64"]
|
8 |
|
9 |
[tasks]
|
10 |
+
download-ckpt = "gdown 1B60LahYi3IuHu0nP2EySEWH29guWavZI --output checkpoints/"
|
11 |
+
start={cmd="python main.py", depends_on=["download-ckpt"]}
|
12 |
|
13 |
[dependencies]
|
14 |
python = "3.11.*"
|
15 |
+
pytorch = {version = ">=2.2.0,<2.3", channel="pytorch"}
|
16 |
+
torchvision = {version = ">=0.17.0,<0.18", channel="pytorch"}
|
17 |
gradio = ">=4.19.2,<4.20"
|
18 |
+
gdown = ">=5.1.0,<5.2"
|
19 |
+
|
20 |
+
[pypi-dependencies]
|
21 |
+
gradio-modal = "*"
|
22 |
+
gradio-imageslider = "*"
|
23 |
+
geffnet = "*"
|
24 |
+
glob2 = "*"
|
test.py
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
import sys
|
3 |
+
import glob
|
4 |
+
import argparse
|
5 |
+
import numpy as np
|
6 |
+
|
7 |
+
import torch
|
8 |
+
import torch.nn.functional as F
|
9 |
+
from torchvision import transforms
|
10 |
+
from PIL import Image
|
11 |
+
import utils.utils as utils
|
12 |
+
|
13 |
+
|
14 |
+
def test_samples(args, model, intrins=None, device="cpu"):
|
15 |
+
img_paths = glob.glob("./samples/img/*.png") + glob.glob("./samples/img/*.jpg")
|
16 |
+
img_paths.sort()
|
17 |
+
|
18 |
+
# normalize
|
19 |
+
normalize = transforms.Normalize(
|
20 |
+
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]
|
21 |
+
)
|
22 |
+
|
23 |
+
with torch.no_grad():
|
24 |
+
for img_path in img_paths:
|
25 |
+
print(img_path)
|
26 |
+
ext = os.path.splitext(img_path)[1]
|
27 |
+
img = Image.open(img_path).convert("RGB")
|
28 |
+
img = np.array(img).astype(np.float32) / 255.0
|
29 |
+
img = torch.from_numpy(img).permute(2, 0, 1).unsqueeze(0).to(device)
|
30 |
+
_, _, orig_H, orig_W = img.shape
|
31 |
+
|
32 |
+
# zero-pad the input image so that both the width and height are multiples of 32
|
33 |
+
l, r, t, b = utils.pad_input(orig_H, orig_W)
|
34 |
+
img = F.pad(img, (l, r, t, b), mode="constant", value=0.0)
|
35 |
+
img = normalize(img)
|
36 |
+
|
37 |
+
intrins_path = img_path.replace(ext, ".txt")
|
38 |
+
if os.path.exists(intrins_path):
|
39 |
+
# NOTE: camera intrinsics should be given as a txt file
|
40 |
+
# it should contain the values of fx, fy, cx, cy
|
41 |
+
intrins = utils.get_intrins_from_txt(
|
42 |
+
intrins_path, device=device
|
43 |
+
).unsqueeze(0)
|
44 |
+
else:
|
45 |
+
# NOTE: if intrins is not given, we just assume that the principal point is at the center
|
46 |
+
# and that the field-of-view is 60 degrees (feel free to modify this assumption)
|
47 |
+
intrins = utils.get_intrins_from_fov(
|
48 |
+
new_fov=60.0, H=orig_H, W=orig_W, device=device
|
49 |
+
).unsqueeze(0)
|
50 |
+
|
51 |
+
intrins[:, 0, 2] += l
|
52 |
+
intrins[:, 1, 2] += t
|
53 |
+
|
54 |
+
pred_norm = model(img, intrins=intrins)[-1]
|
55 |
+
pred_norm = pred_norm[:, :, t : t + orig_H, l : l + orig_W]
|
56 |
+
|
57 |
+
# save to output folder
|
58 |
+
# NOTE: by saving the prediction as uint8 png format, you lose a lot of precision
|
59 |
+
# if you want to use the predicted normals for downstream tasks, we recommend saving them as float32 NPY files
|
60 |
+
pred_norm_np = (
|
61 |
+
pred_norm.cpu().detach().numpy()[0, :, :, :].transpose(1, 2, 0)
|
62 |
+
) # (H, W, 3)
|
63 |
+
pred_norm_np = ((pred_norm_np + 1.0) / 2.0 * 255.0).astype(np.uint8)
|
64 |
+
target_path = img_path.replace("/img/", "/output/").replace(ext, ".png")
|
65 |
+
im = Image.fromarray(pred_norm_np)
|
66 |
+
im.save(target_path)
|
67 |
+
|
68 |
+
|
69 |
+
if __name__ == "__main__":
|
70 |
+
parser = argparse.ArgumentParser()
|
71 |
+
parser.add_argument("--ckpt", default="dsine", type=str, help="model checkpoint")
|
72 |
+
parser.add_argument("--mode", default="samples", type=str, help="{samples}")
|
73 |
+
args = parser.parse_args()
|
74 |
+
|
75 |
+
# define model
|
76 |
+
device = torch.device("cpu")
|
77 |
+
|
78 |
+
from models.dsine import DSINE
|
79 |
+
|
80 |
+
model = DSINE().to(device)
|
81 |
+
model.pixel_coords = model.pixel_coords.to(device)
|
82 |
+
model = utils.load_checkpoint("./checkpoints/%s.pt" % args.ckpt, model)
|
83 |
+
model.eval()
|
84 |
+
|
85 |
+
if args.mode == "samples":
|
86 |
+
test_samples(args, model, intrins=None, device=device)
|
utils/rotation.py
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import torch
|
2 |
+
import numpy as np
|
3 |
+
|
4 |
+
|
5 |
+
# NOTE: from PyTorch3D
|
6 |
+
def axis_angle_to_quaternion(axis_angle: torch.Tensor) -> torch.Tensor:
|
7 |
+
"""
|
8 |
+
Convert rotations given as axis/angle to quaternions.
|
9 |
+
|
10 |
+
Args:
|
11 |
+
axis_angle: Rotations given as a vector in axis angle form,
|
12 |
+
as a tensor of shape (..., 3), where the magnitude is
|
13 |
+
the angle turned anticlockwise in radians around the
|
14 |
+
vector's direction.
|
15 |
+
|
16 |
+
Returns:
|
17 |
+
quaternions with real part first, as tensor of shape (..., 4).
|
18 |
+
"""
|
19 |
+
angles = torch.norm(axis_angle, p=2, dim=-1, keepdim=True)
|
20 |
+
half_angles = angles * 0.5
|
21 |
+
eps = 1e-6
|
22 |
+
small_angles = angles.abs() < eps
|
23 |
+
sin_half_angles_over_angles = torch.empty_like(angles)
|
24 |
+
sin_half_angles_over_angles[~small_angles] = (
|
25 |
+
torch.sin(half_angles[~small_angles]) / angles[~small_angles]
|
26 |
+
)
|
27 |
+
# for x small, sin(x/2) is about x/2 - (x/2)^3/6
|
28 |
+
# so sin(x/2)/x is about 1/2 - (x*x)/48
|
29 |
+
sin_half_angles_over_angles[small_angles] = (
|
30 |
+
0.5 - (angles[small_angles] * angles[small_angles]) / 48
|
31 |
+
)
|
32 |
+
quaternions = torch.cat(
|
33 |
+
[torch.cos(half_angles), axis_angle * sin_half_angles_over_angles], dim=-1
|
34 |
+
)
|
35 |
+
return quaternions
|
36 |
+
|
37 |
+
|
38 |
+
# NOTE: from PyTorch3D
|
39 |
+
def quaternion_to_matrix(quaternions: torch.Tensor) -> torch.Tensor:
|
40 |
+
"""
|
41 |
+
Convert rotations given as quaternions to rotation matrices.
|
42 |
+
|
43 |
+
Args:
|
44 |
+
quaternions: quaternions with real part first,
|
45 |
+
as tensor of shape (..., 4).
|
46 |
+
|
47 |
+
Returns:
|
48 |
+
Rotation matrices as tensor of shape (..., 3, 3).
|
49 |
+
"""
|
50 |
+
r, i, j, k = torch.unbind(quaternions, -1)
|
51 |
+
# pyre-fixme[58]: `/` is not supported for operand types `float` and `Tensor`.
|
52 |
+
two_s = 2.0 / (quaternions * quaternions).sum(-1)
|
53 |
+
|
54 |
+
o = torch.stack(
|
55 |
+
(
|
56 |
+
1 - two_s * (j * j + k * k),
|
57 |
+
two_s * (i * j - k * r),
|
58 |
+
two_s * (i * k + j * r),
|
59 |
+
two_s * (i * j + k * r),
|
60 |
+
1 - two_s * (i * i + k * k),
|
61 |
+
two_s * (j * k - i * r),
|
62 |
+
two_s * (i * k - j * r),
|
63 |
+
two_s * (j * k + i * r),
|
64 |
+
1 - two_s * (i * i + j * j),
|
65 |
+
),
|
66 |
+
-1,
|
67 |
+
)
|
68 |
+
return o.reshape(quaternions.shape[:-1] + (3, 3))
|
69 |
+
|
70 |
+
|
71 |
+
# NOTE: from PyTorch3D
|
72 |
+
def axis_angle_to_matrix(axis_angle: torch.Tensor) -> torch.Tensor:
|
73 |
+
"""
|
74 |
+
Convert rotations given as axis/angle to rotation matrices.
|
75 |
+
|
76 |
+
Args:
|
77 |
+
axis_angle: Rotations given as a vector in axis angle form,
|
78 |
+
as a tensor of shape (..., 3), where the magnitude is
|
79 |
+
the angle turned anticlockwise in radians around the
|
80 |
+
vector's direction.
|
81 |
+
|
82 |
+
Returns:
|
83 |
+
Rotation matrices as tensor of shape (..., 3, 3).
|
84 |
+
"""
|
85 |
+
return quaternion_to_matrix(axis_angle_to_quaternion(axis_angle))
|
utils/utils.py
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
""" utils
|
2 |
+
"""
|
3 |
+
import os
|
4 |
+
import torch
|
5 |
+
import numpy as np
|
6 |
+
|
7 |
+
|
8 |
+
def load_checkpoint(fpath, model):
|
9 |
+
print('loading checkpoint... {}'.format(fpath))
|
10 |
+
|
11 |
+
ckpt = torch.load(fpath, map_location='cpu')['model']
|
12 |
+
|
13 |
+
load_dict = {}
|
14 |
+
for k, v in ckpt.items():
|
15 |
+
if k.startswith('module.'):
|
16 |
+
k_ = k.replace('module.', '')
|
17 |
+
load_dict[k_] = v
|
18 |
+
else:
|
19 |
+
load_dict[k] = v
|
20 |
+
|
21 |
+
model.load_state_dict(load_dict)
|
22 |
+
print('loading checkpoint... / done')
|
23 |
+
return model
|
24 |
+
|
25 |
+
|
26 |
+
def compute_normal_error(pred_norm, gt_norm):
|
27 |
+
pred_error = torch.cosine_similarity(pred_norm, gt_norm, dim=1)
|
28 |
+
pred_error = torch.clamp(pred_error, min=-1.0, max=1.0)
|
29 |
+
pred_error = torch.acos(pred_error) * 180.0 / np.pi
|
30 |
+
pred_error = pred_error.unsqueeze(1) # (B, 1, H, W)
|
31 |
+
return pred_error
|
32 |
+
|
33 |
+
|
34 |
+
def compute_normal_metrics(total_normal_errors):
|
35 |
+
total_normal_errors = total_normal_errors.detach().cpu().numpy()
|
36 |
+
num_pixels = total_normal_errors.shape[0]
|
37 |
+
|
38 |
+
metrics = {
|
39 |
+
'mean': np.average(total_normal_errors),
|
40 |
+
'median': np.median(total_normal_errors),
|
41 |
+
'rmse': np.sqrt(np.sum(total_normal_errors * total_normal_errors) / num_pixels),
|
42 |
+
'a1': 100.0 * (np.sum(total_normal_errors < 5) / num_pixels),
|
43 |
+
'a2': 100.0 * (np.sum(total_normal_errors < 7.5) / num_pixels),
|
44 |
+
'a3': 100.0 * (np.sum(total_normal_errors < 11.25) / num_pixels),
|
45 |
+
'a4': 100.0 * (np.sum(total_normal_errors < 22.5) / num_pixels),
|
46 |
+
'a5': 100.0 * (np.sum(total_normal_errors < 30) / num_pixels)
|
47 |
+
}
|
48 |
+
|
49 |
+
return metrics
|
50 |
+
|
51 |
+
|
52 |
+
def pad_input(orig_H, orig_W):
|
53 |
+
if orig_W % 32 == 0:
|
54 |
+
l = 0
|
55 |
+
r = 0
|
56 |
+
else:
|
57 |
+
new_W = 32 * ((orig_W // 32) + 1)
|
58 |
+
l = (new_W - orig_W) // 2
|
59 |
+
r = (new_W - orig_W) - l
|
60 |
+
|
61 |
+
if orig_H % 32 == 0:
|
62 |
+
t = 0
|
63 |
+
b = 0
|
64 |
+
else:
|
65 |
+
new_H = 32 * ((orig_H // 32) + 1)
|
66 |
+
t = (new_H - orig_H) // 2
|
67 |
+
b = (new_H - orig_H) - t
|
68 |
+
return l, r, t, b
|
69 |
+
|
70 |
+
|
71 |
+
def get_intrins_from_fov(new_fov, H, W, device):
|
72 |
+
# NOTE: top-left pixel should be (0,0)
|
73 |
+
if W >= H:
|
74 |
+
new_fu = (W / 2.0) / np.tan(np.deg2rad(new_fov / 2.0))
|
75 |
+
new_fv = (W / 2.0) / np.tan(np.deg2rad(new_fov / 2.0))
|
76 |
+
else:
|
77 |
+
new_fu = (H / 2.0) / np.tan(np.deg2rad(new_fov / 2.0))
|
78 |
+
new_fv = (H / 2.0) / np.tan(np.deg2rad(new_fov / 2.0))
|
79 |
+
|
80 |
+
new_cu = (W / 2.0) - 0.5
|
81 |
+
new_cv = (H / 2.0) - 0.5
|
82 |
+
|
83 |
+
new_intrins = torch.tensor([
|
84 |
+
[new_fu, 0, new_cu ],
|
85 |
+
[0, new_fv, new_cv ],
|
86 |
+
[0, 0, 1 ]
|
87 |
+
], dtype=torch.float32, device=device)
|
88 |
+
|
89 |
+
return new_intrins
|
90 |
+
|
91 |
+
|
92 |
+
def get_intrins_from_txt(intrins_path, device):
|
93 |
+
# NOTE: top-left pixel should be (0,0)
|
94 |
+
with open(intrins_path, 'r') as f:
|
95 |
+
intrins_ = f.readlines()[0].split()[0].split(',')
|
96 |
+
intrins_ = [float(i) for i in intrins_]
|
97 |
+
fx, fy, cx, cy = intrins_
|
98 |
+
|
99 |
+
intrins = torch.tensor([
|
100 |
+
[fx, 0,cx],
|
101 |
+
[ 0,fy,cy],
|
102 |
+
[ 0, 0, 1]
|
103 |
+
], dtype=torch.float32, device=device)
|
104 |
+
|
105 |
+
return intrins
|