Coder Social home page Coder Social logo

Comments (11)

leonardodora avatar leonardodora commented on June 14, 2024 1

I think 1500 images for each class is okay.

The epoch really depends on the difficulty of the task, but I think 100 was okay to see the possibility.

thanks a lot! btw, your coding is perfect.

from instagan.

sangwoomo avatar sangwoomo commented on June 14, 2024

Hi, is this task you want?
I thinks your your 1) real seg B are zero or 2) GAN loss is not working.

instagan_anime

image source: https://medium.com/@crosssceneofwindff/instance-aware-image-to-image-translation-about-instagan-c508e63fe838

from instagan.

leonardodora avatar leonardodora commented on June 14, 2024

Hi, is this task you want?
I thinks your your 1) real seg B are zero or 2) GAN loss is not working.

instagan_anime

image source: https://medium.com/@crosssceneofwindff/instance-aware-image-to-image-translation-about-instagan-c508e63fe838

yes, just like this. but i did experiments on real person. thanks for your really quick reply, i have checked real seg B, it is ok, just like real seg A

企业微信截图_fbc1cf58-1c49-40df-ac97-1b43fc90bff2
btw, i have modify this param from 2 to 1, is it the problem?

from instagan.

leonardodora avatar leonardodora commented on June 14, 2024

Hi, is this task you want?
I thinks your your 1) real seg B are zero or 2) GAN loss is not working.

instagan_anime

image source: https://medium.com/@crosssceneofwindff/instance-aware-image-to-image-translation-about-instagan-c508e63fe838

btw, how can i check the gan loss?

epoch: 19 epoch_iter: 1620 loss: OrderedDict([('D_A', 0.28495314717292786), ('G_A', 0.44496801495552063), ('cyc_A', 1.4068127870559692), ('idt_A', 0.2712179124355316), ('ctx_A', 0.41984423995018005), ('D_B', 0.00030860648257657886), ('G_B', 1.0045173168182373), ('cyc_B', 0.3270185589790344), ('idt_B', 1.4243183135986328), ('ctx_B', 0.29253628849983215)])
epoch: 19 epoch_iter: 1640 loss: OrderedDict([('D_A', 0.21153371036052704), ('G_A', 0.224431112408638), ('cyc_A', 1.5483123064041138), ('idt_A', 0.2964574694633484), ('ctx_A', 0.19816333055496216), ('D_B', 0.001018411829136312), ('G_B', 0.9957813024520874), ('cyc_B', 0.3424926996231079), ('idt_B', 1.49729323387146), ('ctx_B', 0.20376181602478027)])
epoch: 19 epoch_iter: 1660 loss: OrderedDict([('D_A', 0.2148074209690094), ('G_A', 0.3643377125263214), ('cyc_A', 1.1582698822021484), ('idt_A', 0.4839262366294861), ('ctx_A', 0.19721737504005432), ('D_B', 0.0003931066603399813), ('G_B', 0.9965217709541321), ('cyc_B', 0.6051976680755615), ('idt_B', 1.0777069330215454), ('ctx_B', 0.5396640300750732)])

it seems like cyc_A, cyc_B have huge gap, is it responsible for the no working?

from instagan.

leonardodora avatar leonardodora commented on June 14, 2024

and i just noticed that the cyc_a loss would suddenly increase at epoch: 3 epoch_iter: 880
and always above 1.0 while cyc_b loss will decrease as expected
before the epoch: 3 epoch_iter: 880, the cyc_a loss seems to be fine

epoch: 3 epoch_iter: 760 loss: OrderedDict([('D_A', 0.28271806240081787), ('G_A', 0.5144460201263428), ('cyc_A', 0.9399356842041016), ('idt_A', 0.5795601606369019), ('ctx_A', 0.8255990743637085), ('D_B', 0.2468995451927185), ('G_B', 0.38095200061798096), ('cyc_B', 0.6753614544868469), ('idt_B', 0.6988549828529358), ('ctx_B', 0.29284632205963135)])
epoch: 3 epoch_iter: 780 loss: OrderedDict([('D_A', 0.2870528995990753), ('G_A', 0.2630198895931244), ('cyc_A', 0.8024196624755859), ('idt_A', 0.6109607219696045), ('ctx_A', 0.6542154550552368), ('D_B', 0.3109867572784424), ('G_B', 0.2686704993247986), ('cyc_B', 0.9172786474227905), ('idt_B', 0.6556259989738464), ('ctx_B', 0.5361669063568115)])
epoch: 3 epoch_iter: 800 loss: OrderedDict([('D_A', 0.24323898553848267), ('G_A', 0.34255099296569824), ('cyc_A', 0.8689618110656738), ('idt_A', 0.5951452851295471), ('ctx_A', 0.5810612440109253), ('D_B', 0.263603538274765), ('G_B', 0.1840197741985321), ('cyc_B', 0.8152450323104858), ('idt_B', 0.6198552846908569), ('ctx_B', 0.5905605554580688)])
epoch: 3 epoch_iter: 820 loss: OrderedDict([('D_A', 0.4089164137840271), ('G_A', 0.3948238790035248), ('cyc_A', 0.5638543367385864), ('idt_A', 0.3886997699737549), ('ctx_A', 0.3770771324634552), ('D_B', 0.6841108202934265), ('G_B', 1.0538008213043213), ('cyc_B', 0.49967172741889954), ('idt_B', 0.43776753544807434), ('ctx_B', 0.39757239818573)])
epoch: 3 epoch_iter: 840 loss: OrderedDict([('D_A', 0.24178935587406158), ('G_A', 0.3354800343513489), ('cyc_A', 0.5423353910446167), ('idt_A', 0.5768237709999084), ('ctx_A', 0.5036472082138062), ('D_B', 1.1370093822479248), ('G_B', 1.6951065063476562), ('cyc_B', 0.6251733899116516), ('idt_B', 0.48071300983428955), ('ctx_B', 0.4486328661441803)])
epoch: 3 epoch_iter: 860 loss: OrderedDict([('D_A', 0.2573254108428955), ('G_A', 0.17050953209400177), ('cyc_A', 2.20874285697937), ('idt_A', 0.664345920085907), ('ctx_A', 0.4304313659667969), ('D_B', 15.340181350708008), ('G_B', 13.359832763671875), ('cyc_B', 2.5855371952056885), ('idt_B', 2.1018173694610596), ('ctx_B', 0.7736623883247375)])
epoch: 3 epoch_iter: 880 loss: OrderedDict([('D_A', 0.2343287616968155), ('G_A', 0.22161865234375), ('cyc_A', 2.010279893875122), ('idt_A', 0.531023383140564), ('ctx_A', 0.3765827417373657), ('D_B', 1.0707379579544067), ('G_B', 0.46550095081329346), ('cyc_B', 2.1977295875549316), ('idt_B', 1.9820410013198853), ('ctx_B', 0.5809430480003357)])
epoch: 3 epoch_iter: 900 loss: OrderedDict([('D_A', 0.2524489760398865), ('G_A', 0.38755548000335693), ('cyc_A', 1.8325910568237305), ('idt_A', 0.7078045010566711), ('ctx_A', 0.4501146376132965), ('D_B', 0.2241455465555191), ('G_B', 0.5823928713798523), ('cyc_B', 2.1543965339660645), ('idt_B', 1.6840202808380127), ('ctx_B', 0.7103649377822876)])
epoch: 3 epoch_iter: 920 loss: OrderedDict([('D_A', 0.26689115166664124), ('G_A', 0.21848547458648682), ('cyc_A', 2.143144130706787), ('idt_A', 0.7535605430603027), ('ctx_A', 0.3836369216442108), ('D_B', 0.22803309559822083), ('G_B', 0.449783056974411), ('cyc_B', 2.3941097259521484), ('idt_B', 2.0672645568847656), ('ctx_B', 0.9657135009765625)])

from instagan.

sangwoomo avatar sangwoomo commented on June 14, 2024

How much data are you using? I think the segmentation is collapsed in some reason, hence the cycle-consistency loss goes large. Does it work seem to work before epoch 3?

from instagan.

leonardodora avatar leonardodora commented on June 14, 2024

How much data are you using? I think the segmentation is collapsed in some reason, hence the cycle-consistency loss goes large. Does it work seem to work before epoch 3?

i use about 6000 images for each class. And I checked the seg is ok, but the class label is kind of mess,
so i change the project to long2short hair. the model is training, i use 1500 images for each class. could you please tell me about how many epoch it results in good(looks working) result

from instagan.

sangwoomo avatar sangwoomo commented on June 14, 2024

I think 1500 images for each class is okay.

The epoch really depends on the difficulty of the task, but I think 100 was okay to see the possibility.

from instagan.

leonardodora avatar leonardodora commented on June 14, 2024

hi, I have opt my datasets and epoches reach to 100, but instagan seems don't work. (fake_A_seg is all 255. like this.
image

so I wonder how fine datasets I should feed to train this model
btw, I have trained on jeans2skirt_ccp and it works.

from instagan.

sangwoomo avatar sangwoomo commented on June 14, 2024

I'm not sure why it happens. I think your task is harder than that I did.
I did not use any regularizers in my experiments, but maybe you need some additional regularizers to avoid the segmentation collapse.

from instagan.

Jessicall avatar Jessicall commented on June 14, 2024

@leonardodora Hi! Did your task work?I also want to use InstaGAN to experiment on hair transfer,but I
don't if this method works?

from instagan.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.