MCPcopy Index your code
hub / github.com/Po-Hsun-Su/pytorch-ssim

github.com/Po-Hsun-Su/pytorch-ssim @0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.1 ↗ · + Follow
7 symbols 19 edges 2 files 0 documented · 0% updated 2y ago★ 1,94727 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

pytorch-ssim

Differentiable structural similarity (SSIM) index.

einstein Max_ssim

Example

basic usage

import pytorch_ssim
import torch
from torch.autograd import Variable

img1 = Variable(torch.rand(1, 1, 256, 256))
img2 = Variable(torch.rand(1, 1, 256, 256))

print(pytorch_ssim.ssim(img1, img2))

ssim_loss = pytorch_ssim.SSIM(window_size = 11)

print(ssim_loss(img1, img2))

maximize ssim

import pytorch_ssim
import torch
from torch.autograd import Variable
from torch import optim
import cv2
import numpy as np

npImg1 = cv2.imread("einstein.png")
img1 = Variable(torch.from_numpy(np.rollaxis(npImg1, 2)).float().unsqueeze(0)/255.0,  requires_grad=False)
img2 = Variable(torch.rand(img1.data.size()), requires_grad = True)

# Functional: pytorch_ssim.ssim(img1, img2, window_size = 11, size_average = True)
ssim_value = pytorch_ssim.ssim(img1, img2).data[0]
print("Initial ssim:", ssim_value)

# Module: pytorch_ssim.SSIM(window_size = 11, size_average = True)
ssim_loss = pytorch_ssim.SSIM()

optimizer = optim.Adam([img2], lr=0.01)

while ssim_value < 0.95:
    optimizer.zero_grad()
    ssim_out = -ssim_loss(img1, img2)
    ssim_value = - ssim_out.data[0]
    print(ssim_value)
    ssim_out.backward()
    optimizer.step()

Reference

https://ece.uwaterloo.ca/~z70wang/research/ssim/

Core symbols most depended-on inside this repo

create_window
called by 3
pytorch_ssim/__init__.py
_ssim
called by 2
pytorch_ssim/__init__.py
gaussian
called by 1
pytorch_ssim/__init__.py
forward
called by 0
pytorch_ssim/__init__.py
ssim
called by 0
pytorch_ssim/__init__.py

Shape

Function 4
Method 2
Class 1

Languages

Python100%

Modules by API surface

pytorch_ssim/__init__.py7 symbols

For agents

$ claude mcp add pytorch-ssim \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact