mirror of
https://github.com/maciej3031/comixify.git
synced 2026-03-11 08:54:35 +00:00
Fix problem with CartoonGAN not change model and add timestamp to Comic
This commit is contained in:
parent
8cc301b47b
commit
fe7c388495
4 changed files with 37 additions and 12 deletions
18
api/migrations/0003_add_timestamp.py
Normal file
18
api/migrations/0003_add_timestamp.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 2.0.7 on 2018-11-18 10:55
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0002_add_additional_info_to_Comic'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='comic',
|
||||
name='timestamp',
|
||||
field=models.DateTimeField(auto_now_add=True),
|
||||
),
|
||||
]
|
||||
|
|
@ -72,13 +72,12 @@ class Comic(models.Model):
|
|||
rl_mode = models.PositiveIntegerField(default=0)
|
||||
image_assessment_mode = models.PositiveIntegerField(default=0)
|
||||
style_transfer_mode = models.PositiveIntegerField(default=0)
|
||||
timestamp = models.DateTimeField(auto_now_add=True)
|
||||
|
||||
@classmethod
|
||||
@profile
|
||||
def create_from_nparray(cls, nparray, video, yt_url, frames_mode,
|
||||
rl_mode, image_assessment_mode, style_transfer_mode):
|
||||
# if nparray.max() <= 1:
|
||||
# nparray = nparray.astype(int)
|
||||
tmp_name = uuid.uuid4().hex + ".png"
|
||||
cv2.imwrite(jj(settings.TMP_DIR, tmp_name), nparray)
|
||||
with open(jj(settings.TMP_DIR, tmp_name), mode="rb") as tmp_file:
|
||||
|
|
|
|||
16
api/views.py
16
api/views.py
|
|
@ -55,18 +55,18 @@ class ComixifyFromYoutube(APIView):
|
|||
image_assessment_mode = serializer.validated_data["image_assessment_mode"]
|
||||
style_transfer_mode = serializer.validated_data["style_transfer_mode"]
|
||||
|
||||
comix = Comic.objects.filter(yt_url=yt_url,
|
||||
frames_mode=frames_mode,
|
||||
rl_mode=rl_mode,
|
||||
image_assessment_mode=image_assessment_mode,
|
||||
style_transfer_mode=style_transfer_mode
|
||||
).first()
|
||||
if comix is not None:
|
||||
try:
|
||||
comix = Comic.objects.filter(yt_url=yt_url,
|
||||
frames_mode=frames_mode,
|
||||
rl_mode=rl_mode,
|
||||
image_assessment_mode=image_assessment_mode,
|
||||
style_transfer_mode=style_transfer_mode
|
||||
).latest('timestamp')
|
||||
response = {
|
||||
"status_message": "ok",
|
||||
"comic": comix.file.url,
|
||||
}
|
||||
else:
|
||||
except Comic.DoesNotExist:
|
||||
video = Video()
|
||||
_, yt_download_time = video.download_from_youtube(yt_url)
|
||||
video.save()
|
||||
|
|
|
|||
|
|
@ -62,8 +62,16 @@ class StyleTransfer():
|
|||
|
||||
@classmethod
|
||||
def _cartoon_gan_stylize(cls, frames, gpu=True, style='Hayao'):
|
||||
model_cache_key = 'model_cache'
|
||||
model = cache.get(model_cache_key) # get model from cache
|
||||
if style == 'Hayao':
|
||||
model_cache_key = 'model_cache_hayao'
|
||||
model = cache.get(model_cache_key) # get model from cache
|
||||
|
||||
elif style == 'Hosoda':
|
||||
model_cache_key = 'model_cache_hosoda'
|
||||
model = cache.get(model_cache_key) # get model from cache
|
||||
|
||||
else:
|
||||
raise Exception('No such CartoonGAN model!')
|
||||
|
||||
if model is None:
|
||||
# load pretrained model
|
||||
|
|
|
|||
Loading…
Reference in a new issue