Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clarifying differences between available models #18

Open
zeke opened this issue Sep 27, 2021 · 2 comments
Open

clarifying differences between available models #18

zeke opened this issue Sep 27, 2021 · 2 comments

Comments

@zeke
Copy link

zeke commented Sep 27, 2021

Hi @mehdidc 👋🏼 I'm a new team member at @replicate.

I was trying out your model on replicate.ai and noticed that the names of the models are a bit cryptic, so it's hard to know what differences to expect when using each:

Screen Shot 2021-09-23 at 6 21 40 PM

Here's where those are declared:

MODELS = [
"cc12m_32x1024_vitgan_v0.1.th",
"cc12m_32x1024_vitgan_v0.2.th",
"cc12m_32x1024_mlp_mixer_v0.2.th",
]

Looking at the source for cog's Input class it looks like options can be a list of anything:

options: Optional[List[Any]] = None

I'm not sure if this is right, but maybe this means that each model could be declared as a tuple with an accompanying label:

MODELS = [
    ("cc12m_32x1024_vitgan_v0.1.th", "This model does x"),
    ("cc12m_32x1024_vitgan_v0.2.th" "This model does y"),,
    ("cc12m_32x1024_mlp_mixer_v0.2.th", "This model does z"),
]

We could then display those labels on the model form on replicate.ai to make the available options more clear to users.

Curious to hear your thoughts!

cc @cjwbw @bfirsh @andreasjansson

@mehdidc
Copy link
Owner

mehdidc commented Oct 1, 2021

Hi @zeke, sorry for my late answer, thanks for the proposition, you are absolutely right, the model names are not very informative. The thing is that the models are doing the same thing in a sense (also trained on the same prompts dataset), it's just that the architecture is different (vitgan vs mlp_mixer) and between 0.1 and 0.2 I used different set of data augmentations. The reason they are provided altogether is that the user might prefer one option over the other one for a specific prompt. One way to avoid the naming would be to to not provide model choice explicitly, but rather, display a grid of images as an output like in ICGAN (https://replicate.ai/arantxacasanova/ic_gan), where the image of each cell of the grid would be the generated image from a model.

So I am not totally sure, I will think about it, if you or anyone have any propositions, would be glad to hear from you.

@afiaka87
Copy link
Contributor

afiaka87 commented Oct 3, 2021

@mehdidc @zeke

The distinguishing information is:
modelType: ["mlp_mixer", "vitgan"] -> basically "experimental (mlp_mixer) versus established (vitgan)"
version: ["v0.1", "v0.2"] -> not sure what the precise differences are here, @mehdidc ?
dimension: [128, 256, 512, 1024] -> correlates directly with accuracy of model. bigger is better, but slower.
depth: [8, 16, 32] -> number of hidden layers. correlates directly with accuracy of model. bigger is better, but slower.

this info is contained in the filename (albeit cryptically) . The format is:
{dataset}_{depth}x{dimension}_{type}_{version}
if you remove the curly braces. So
cc12m_32x1024_vitgan_v0
gives you:
dataset: cc12m
depth: 32
dimension 1024
type: vitgan
version: v0

From skimming your post @zeke am I correct in assuming you have a somewhat limited API to work with on replicate? There are a few ways this information could be presented. Perhaps easiest would be to summarize this info and make it easy to get to from replicate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants