Compare commits

...

2 Commits

14 changed files with 1496 additions and 2 deletions

View File

@ -20,7 +20,6 @@ from django.urls import path, include
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
# path('api/', include('api.urls')), # path('api/', include('api.urls')),
path('visualization/', include('visualization.urls')),
path('datasets/', include('datasets.urls')), path('datasets/', include('datasets.urls')),
path('training/', include('training.urls')), path('training/', include('training.urls')),
path('accounts/', include('accounts.urls')), path('accounts/', include('accounts.urls')),

View File

@ -0,0 +1,59 @@
# Generated by Django 4.2.17 on 2025-06-05 09:33
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('datasets', '0006_dataset_is_upload'),
]
operations = [
migrations.CreateModel(
name='CreatorProfile',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='达人名称')),
('avatar', models.ImageField(blank=True, null=True, upload_to='avatars/', verbose_name='头像图片')),
('avatar_url', models.TextField(blank=True, null=True, verbose_name='头像URL')),
('platform_id', models.CharField(blank=True, max_length=255, null=True, verbose_name='Platform ID')),
('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='电子邮箱')),
('instagram', models.CharField(blank=True, max_length=255, null=True, verbose_name='Instagram账号')),
('location', models.CharField(blank=True, max_length=100, null=True, verbose_name='位置')),
('live_schedule', models.CharField(blank=True, max_length=255, null=True, verbose_name='直播时间表')),
('profile', models.CharField(choices=[('tiktok', 'TikTok'), ('instagram', 'Instagram'), ('youtube', 'YouTube'), ('other', '其他平台')], default='tiktok', max_length=20, verbose_name='达人平台')),
('hashtags', models.TextField(blank=True, help_text='以#分隔的标签,例如:#fashion#beauty#lifestyle', null=True, verbose_name='标签')),
('trends', models.TextField(blank=True, help_text='创作者相关的趋势关键词', null=True, verbose_name='趋势')),
('region', models.CharField(blank=True, max_length=100, null=True, verbose_name='地区')),
('tiktok_link', models.URLField(blank=True, max_length=500, null=True, verbose_name='主页链接')),
('us_creator_level', models.CharField(blank=True, max_length=50, null=True, verbose_name='对标美区达人等级')),
('price_gbp', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='报价(英镑)')),
('price_usd', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='报价(美金)')),
('gmv_gbp', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='GMV(英镑)')),
('link', models.URLField(blank=True, max_length=500, null=True, verbose_name='链接')),
('category', models.CharField(blank=True, choices=[('Phones & Electronics', '手机与电子产品'), ('Homes Supplies', '家居用品'), ('Kitchenware', '厨房用品'), ('Textiles & Soft Furnishings', '纺织品和软装'), ('Household Appliances', '家用电器'), ('Womenswear & Underwear', '女装和内衣'), ('Muslim Fashion', '穆斯林时尚'), ('Shoes', '鞋类'), ('Beauty & Personal Care', '美容和个人护理'), ('Computers & Office Equipment', '电脑和办公设备'), ('Pet Supplies', '宠物用品'), ('Baby & Maternity', '婴儿和孕妇用品'), ('Sports & Outdoor', '运动和户外'), ('Toys', '玩具'), ('Furniture', '家具'), ('Tools & Hardware', '工具和硬件'), ('Home Improvement', '家居装修'), ('Automotive & Motorcycle', '汽车和摩托车'), ('Fashion Accessories', '时尚配饰'), ('Food & Beverages', '食品和饮料'), ('Health', '健康'), ('Books, Magazines & Audio', '书籍、杂志和音频'), ('Kids Fashion', '儿童时尚'), ('Menswear & Underwear', '男装和内衣'), ('Luggage & Bags', '行李和包'), ('Pre-Owned Collections', '二手收藏'), ('Jewellery Accessories & Derivatives', '珠宝配饰及衍生品')], max_length=100, null=True, verbose_name='类别')),
('e_commerce_level', models.IntegerField(blank=True, choices=[(1, 'L1'), (2, 'L2'), (3, 'L3'), (4, 'L4'), (5, 'L5'), (6, 'L6'), (7, 'L7')], null=True, verbose_name='电商能力等级')),
('exposure_level', models.CharField(blank=True, choices=[('KOC-1', 'KOC-1'), ('KOC-2', 'KOC-2'), ('KOL-1', 'KOL-1'), ('KOL-2', 'KOL-2'), ('KOL-3', 'KOL-3')], max_length=10, null=True, verbose_name='曝光等级')),
('followers', models.IntegerField(default=0, verbose_name='粉丝数')),
('gmv', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='GMV(千美元)')),
('items_sold', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='售出商品数量')),
('avg_video_views', models.IntegerField(blank=True, default=0, null=True, verbose_name='平均视频浏览量')),
('pricing', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='个人定价')),
('pricing_package', models.CharField(blank=True, max_length=100, null=True, verbose_name='套餐定价')),
('collab_count', models.IntegerField(blank=True, default=0, null=True, verbose_name='合作次数')),
('latest_collab', models.CharField(blank=True, max_length=100, null=True, verbose_name='最新合作')),
('e_commerce_platforms', models.JSONField(blank=True, null=True, verbose_name='电商平台')),
('gmv_by_channel', models.JSONField(blank=True, null=True, verbose_name='GMV按渠道分布')),
('gmv_by_category', models.JSONField(blank=True, null=True, verbose_name='GMV按类别分布')),
('mcn', models.CharField(blank=True, max_length=255, null=True, verbose_name='MCN机构')),
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
],
options={
'verbose_name': '达人信息',
'verbose_name_plural': '达人信息',
'db_table': 'creator_profiles',
},
),
]

View File

@ -0,0 +1,73 @@
# Generated by Django 4.2.17 on 2025-06-05 09:38
from django.db import migrations, models
import django.db.models.deletion
import uuid
class Migration(migrations.Migration):
dependencies = [
('datasets', '0007_creatorprofile'),
]
operations = [
migrations.CreateModel(
name='Brand',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('name', models.CharField(max_length=100, unique=True, verbose_name='品牌名称')),
('description', models.TextField(blank=True, null=True, verbose_name='品牌描述')),
('logo_url', models.CharField(blank=True, max_length=255, null=True, verbose_name='品牌Logo')),
('category', models.CharField(blank=True, max_length=100, null=True, verbose_name='品牌分类')),
('source', models.CharField(blank=True, max_length=100, null=True, verbose_name='来源')),
('collab_count', models.IntegerField(default=0, verbose_name='合作数量')),
('creators_count', models.IntegerField(default=0, verbose_name='创作者数量')),
('campaign_id', models.CharField(blank=True, max_length=100, null=True, verbose_name='活动ID')),
('total_gmv_achieved', models.DecimalField(decimal_places=2, default=0, max_digits=12, verbose_name='总GMV')),
('total_views_achieved', models.DecimalField(decimal_places=2, default=0, max_digits=12, verbose_name='总浏览量')),
('shop_overall_rating', models.DecimalField(decimal_places=1, default=0.0, max_digits=3, verbose_name='店铺评分')),
('dataset_id_list', models.JSONField(blank=True, default=list, help_text='所有关联的知识库ID列表', verbose_name='知识库ID列表')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
('is_active', models.BooleanField(default=True, verbose_name='是否激活')),
],
options={
'verbose_name': '品牌',
'verbose_name_plural': '品牌',
},
),
migrations.CreateModel(
name='Product',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('name', models.CharField(max_length=100, verbose_name='产品名称')),
('description', models.TextField(blank=True, null=True, verbose_name='产品描述')),
('image_url', models.CharField(blank=True, max_length=255, null=True, verbose_name='产品图片')),
('pid', models.CharField(blank=True, max_length=100, null=True, verbose_name='产品ID')),
('commission_rate', models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='佣金率')),
('open_collab', models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='开放合作率')),
('available_samples', models.IntegerField(default=0, verbose_name='可用样品数')),
('sales_price_min', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='最低销售价')),
('sales_price_max', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='最高销售价')),
('stock', models.IntegerField(default=0, verbose_name='库存')),
('items_sold', models.IntegerField(default=0, verbose_name='已售数量')),
('product_rating', models.DecimalField(decimal_places=1, default=0, max_digits=3, verbose_name='产品评分')),
('reviews_count', models.IntegerField(default=0, verbose_name='评价数量')),
('collab_creators', models.IntegerField(default=0, verbose_name='合作创作者数')),
('tiktok_shop', models.BooleanField(default=False, verbose_name='是否TikTok商店')),
('dataset_id', models.CharField(blank=True, help_text='外部知识库系统中的ID', max_length=100, null=True, verbose_name='知识库ID')),
('external_id', models.CharField(blank=True, help_text='外部系统中的唯一标识', max_length=100, null=True, verbose_name='外部ID')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
('is_active', models.BooleanField(default=True, verbose_name='是否激活')),
('brand', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='products', to='datasets.brand', verbose_name='所属品牌')),
],
options={
'verbose_name': '产品',
'verbose_name_plural': '产品',
'indexes': [models.Index(fields=['brand'], name='datasets_pr_brand_i_fa29f8_idx'), models.Index(fields=['dataset_id'], name='datasets_pr_dataset_d6d37c_idx'), models.Index(fields=['is_active'], name='datasets_pr_is_acti_faa914_idx'), models.Index(fields=['pid'], name='datasets_pr_pid_4a7160_idx')],
'unique_together': {('brand', 'name')},
},
),
]

View File

@ -0,0 +1,34 @@
# Generated by Django 4.2.17 on 2025-06-05 09:49
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('datasets', '0008_brand_product'),
]
operations = [
migrations.CreateModel(
name='CreatorProductMatch',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('is_matched', models.BooleanField(default=False, verbose_name='是否匹配')),
('match_score', models.FloatField(blank=True, null=True, verbose_name='匹配度分数')),
('creator', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='datasets.creatorprofile', verbose_name='达人')),
('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='datasets.product', verbose_name='产品')),
],
options={
'verbose_name': '达人-产品匹配',
'verbose_name_plural': '达人-产品匹配',
'unique_together': {('creator', 'product')},
},
),
migrations.AddField(
model_name='product',
name='creators',
field=models.ManyToManyField(related_name='matched_products', through='datasets.CreatorProductMatch', to='datasets.creatorprofile', verbose_name='匹配达人'),
),
]

View File

@ -1,4 +1,271 @@
from django.db import models from django.db import models
import uuid
class CreatorProfile(models.Model):
"""达人信息模型,用于筛选功能"""
# 基本信息
name = models.CharField(max_length=255, verbose_name="达人名称")
# 修改为支持本地图片上传同时保持URL兼容性
avatar = models.ImageField(upload_to='avatars/', blank=True, null=True, verbose_name="头像图片")
avatar_url = models.TextField(blank=True, null=True, verbose_name="头像URL")
platform_id = models.CharField(max_length=255, blank=True, null=True, verbose_name="Platform ID")
# 新增联系方式
email = models.EmailField(max_length=255, blank=True, null=True, verbose_name="电子邮箱")
instagram = models.CharField(max_length=255, blank=True, null=True, verbose_name="Instagram账号")
location = models.CharField(max_length=100, blank=True, null=True, verbose_name="位置")
live_schedule = models.CharField(max_length=255, blank=True, null=True, verbose_name="直播时间表")
# 新增达人平台字段
PROFILE_CHOICES = [
('tiktok', 'TikTok'),
('instagram', 'Instagram'),
('youtube', 'YouTube'),
('other', '其他平台'),
]
profile = models.CharField(max_length=20, choices=PROFILE_CHOICES, default='tiktok', verbose_name="达人平台")
# 新增hashtag和trend字段
hashtags = models.TextField(blank=True, null=True, verbose_name="标签", help_text="以#分隔的标签,例如:#fashion#beauty#lifestyle")
trends = models.TextField(blank=True, null=True, verbose_name="趋势", help_text="创作者相关的趋势关键词")
# 新增地区字段
region = models.CharField(max_length=100, blank=True, null=True, verbose_name="地区")
# 新增主页链接字段
tiktok_link = models.URLField(max_length=500, blank=True, null=True, verbose_name="主页链接")
# 新增对标美区达人等级
us_creator_level = models.CharField(max_length=50, blank=True, null=True, verbose_name="对标美区达人等级")
# 新增报价字段
price_gbp = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True, verbose_name="报价(英镑)")
price_usd = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True, verbose_name="报价(美金)")
# 新增GMV(英镑)字段
gmv_gbp = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True, verbose_name="GMV(英镑)")
# 新增链接字段
link = models.URLField(max_length=500, blank=True, null=True, verbose_name="链接")
# 类别 - Category
CATEGORY_CHOICES = [
('Phones & Electronics', '手机与电子产品'),
('Homes Supplies', '家居用品'),
('Kitchenware', '厨房用品'),
('Textiles & Soft Furnishings', '纺织品和软装'),
('Household Appliances', '家用电器'),
('Womenswear & Underwear', '女装和内衣'),
('Muslim Fashion', '穆斯林时尚'),
('Shoes', '鞋类'),
('Beauty & Personal Care', '美容和个人护理'),
('Computers & Office Equipment', '电脑和办公设备'),
('Pet Supplies', '宠物用品'),
('Baby & Maternity', '婴儿和孕妇用品'),
('Sports & Outdoor', '运动和户外'),
('Toys', '玩具'),
('Furniture', '家具'),
('Tools & Hardware', '工具和硬件'),
('Home Improvement', '家居装修'),
('Automotive & Motorcycle', '汽车和摩托车'),
('Fashion Accessories', '时尚配饰'),
('Food & Beverages', '食品和饮料'),
('Health', '健康'),
('Books, Magazines & Audio', '书籍、杂志和音频'),
('Kids Fashion', '儿童时尚'),
('Menswear & Underwear', '男装和内衣'),
('Luggage & Bags', '行李和包'),
('Pre-Owned Collections', '二手收藏'),
('Jewellery Accessories & Derivatives', '珠宝配饰及衍生品'),
]
category = models.CharField(max_length=100, choices=CATEGORY_CHOICES, blank=True, null=True, verbose_name="类别")
# 电商等级 - E-commerce Level (L1-L7)
E_COMMERCE_LEVEL_CHOICES = [
(1, 'L1'),
(2, 'L2'),
(3, 'L3'),
(4, 'L4'),
(5, 'L5'),
(6, 'L6'),
(7, 'L7'),
]
e_commerce_level = models.IntegerField(choices=E_COMMERCE_LEVEL_CHOICES, blank=True, null=True,
verbose_name="电商能力等级")
# 曝光等级 - Exposure Level (KOC-1, KOC-2, KOL-1, KOL-2, KOL-3)
EXPOSURE_LEVEL_CHOICES = [
('KOC-1', 'KOC-1'),
('KOC-2', 'KOC-2'),
('KOL-1', 'KOL-1'),
('KOL-2', 'KOL-2'),
('KOL-3', 'KOL-3'),
]
exposure_level = models.CharField(max_length=10, choices=EXPOSURE_LEVEL_CHOICES, blank=True, null=True,
verbose_name="曝光等级")
# 粉丝数 - Followers
followers = models.IntegerField(default=0, verbose_name="粉丝数")
# GMV - Gross Merchandise Value (in thousands of dollars)
gmv = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True, verbose_name="GMV(千美元)")
items_sold = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True,
verbose_name="售出商品数量")
# 视频数据 - Video Views
avg_video_views = models.IntegerField(default=0, blank=True, null=True, verbose_name="平均视频浏览量")
# 价格信息 - Pricing
pricing = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True, verbose_name="个人定价")
pricing_package = models.CharField(max_length=100, blank=True, null=True, verbose_name="套餐定价")
# 合作信息 - Collaboration
collab_count = models.IntegerField(default=0, blank=True, null=True, verbose_name="合作次数")
latest_collab = models.CharField(max_length=100, blank=True, null=True, verbose_name="最新合作")
# 电商平台 - E-commerce platforms (存储为JSON数组如["SUNLINK", "ARZOPA", "BELIFE"])
e_commerce_platforms = models.JSONField(blank=True, null=True, verbose_name="电商平台")
# 分析数据 - Analytics (JSON格式存储销售渠道和类别分布)
gmv_by_channel = models.JSONField(blank=True, null=True, verbose_name="GMV按渠道分布")
gmv_by_category = models.JSONField(blank=True, null=True, verbose_name="GMV按类别分布")
# MCN机构
mcn = models.CharField(max_length=255, blank=True, null=True, verbose_name="MCN机构")
# 时间戳
create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
update_time = models.DateTimeField(auto_now=True, verbose_name="更新时间")
def get_avatar_url(self):
"""获取头像URL优先返回本地图片其次返回外部URL"""
if self.avatar:
return self.avatar.url
elif self.avatar_url:
return self.avatar_url
return None
class Meta:
verbose_name = "达人信息"
verbose_name_plural = verbose_name
db_table = "creator_profiles"
def __str__(self):
return f"{self.name}"
class Brand(models.Model):
"""品牌模型"""
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=100, unique=True, verbose_name='品牌名称')
description = models.TextField(blank=True, null=True, verbose_name='品牌描述')
logo_url = models.CharField(max_length=255, blank=True, null=True, verbose_name='品牌Logo')
category = models.CharField(max_length=100, blank=True, null=True, verbose_name='品牌分类')
source = models.CharField(max_length=100, blank=True, null=True, verbose_name='来源')
collab_count = models.IntegerField(default=0, verbose_name='合作数量')
creators_count = models.IntegerField(default=0, verbose_name='创作者数量')
campaign_id = models.CharField(max_length=100, blank=True, null=True, verbose_name='活动ID')
# 添加数据统计字段
total_gmv_achieved = models.DecimalField(max_digits=12, decimal_places=2, default=0, verbose_name='总GMV')
total_views_achieved = models.DecimalField(max_digits=12, decimal_places=2, default=0, verbose_name='总浏览量')
shop_overall_rating = models.DecimalField(max_digits=3, decimal_places=1, default=0.0, verbose_name='店铺评分')
# 存储关联到此品牌的所有产品和活动知识库ID列表
dataset_id_list = models.JSONField(default=list, blank=True, verbose_name='知识库ID列表',
help_text='所有关联的知识库ID列表')
created_at = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
updated_at = models.DateTimeField(auto_now=True, verbose_name='更新时间')
is_active = models.BooleanField(default=True, verbose_name='是否激活')
class Meta:
verbose_name = '品牌'
verbose_name_plural = '品牌'
def __str__(self):
return self.name
class Product(models.Model):
"""产品模型 - 作为一个知识库"""
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
brand = models.ForeignKey(Brand, on_delete=models.CASCADE, related_name='products', verbose_name='所属品牌')
name = models.CharField(max_length=100, verbose_name='产品名称')
description = models.TextField(blank=True, null=True, verbose_name='产品描述')
image_url = models.CharField(max_length=255, blank=True, null=True, verbose_name='产品图片')
# 添加产品详情字段
pid = models.CharField(max_length=100, blank=True, null=True, verbose_name='产品ID')
commission_rate = models.DecimalField(max_digits=5, decimal_places=2, default=0, verbose_name='佣金率')
open_collab = models.DecimalField(max_digits=5, decimal_places=2, default=0, verbose_name='开放合作率')
available_samples = models.IntegerField(default=0, verbose_name='可用样品数')
sales_price_min = models.DecimalField(max_digits=10, decimal_places=2, default=0, verbose_name='最低销售价')
sales_price_max = models.DecimalField(max_digits=10, decimal_places=2, default=0, verbose_name='最高销售价')
stock = models.IntegerField(default=0, verbose_name='库存')
items_sold = models.IntegerField(default=0, verbose_name='已售数量')
product_rating = models.DecimalField(max_digits=3, decimal_places=1, default=0, verbose_name='产品评分')
reviews_count = models.IntegerField(default=0, verbose_name='评价数量')
collab_creators = models.IntegerField(default=0, verbose_name='合作创作者数')
tiktok_shop = models.BooleanField(default=False, verbose_name='是否TikTok商店')
dataset_id = models.CharField(max_length=100, blank=True, null=True, verbose_name='知识库ID',
help_text='外部知识库系统中的ID')
external_id = models.CharField(max_length=100, blank=True, null=True, verbose_name='外部ID',
help_text='外部系统中的唯一标识')
created_at = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
updated_at = models.DateTimeField(auto_now=True, verbose_name='更新时间')
is_active = models.BooleanField(default=True, verbose_name='是否激活')
creators = models.ManyToManyField(
'CreatorProfile',
through='CreatorProductMatch',
related_name='matched_products',
verbose_name='匹配达人'
)
class Meta:
verbose_name = '产品'
verbose_name_plural = '产品'
unique_together = ['brand', 'name']
indexes = [
models.Index(fields=['brand']),
models.Index(fields=['dataset_id']),
models.Index(fields=['is_active']),
models.Index(fields=['pid']),
]
def __str__(self):
return f"{self.brand.name} - {self.name}"
def save(self, *args, **kwargs):
"""重写save方法更新品牌的dataset_id_list"""
is_new = self.pk is None
super().save(*args, **kwargs)
# 刷新品牌的dataset_id_list
if is_new and self.is_active and self.dataset_id:
brand = self.brand
if self.dataset_id not in brand.dataset_id_list:
brand.dataset_id_list.append(self.dataset_id)
brand.save(update_fields=['dataset_id_list', 'updated_at'])
class CreatorProductMatch(models.Model):
creator = models.ForeignKey('CreatorProfile', on_delete=models.CASCADE, verbose_name='达人')
product = models.ForeignKey('Product', on_delete=models.CASCADE, verbose_name='产品')
is_matched = models.BooleanField(default=False, verbose_name='是否匹配')
match_score = models.FloatField(blank=True, null=True, verbose_name='匹配度分数')
class Meta:
unique_together = ('creator', 'product')
verbose_name = '达人-产品匹配'
verbose_name_plural = verbose_name
def __str__(self):
return f"{self.creator} - {self.product} 匹配: {self.is_matched} 分数: {self.match_score}"
class Dataset(models.Model): class Dataset(models.Model):
# 自增主键字段Django 默认为每个模型提供一个 id 字段 # 自增主键字段Django 默认为每个模型提供一个 id 字段

85
datasets/serializers.py Normal file
View File

@ -0,0 +1,85 @@
from rest_framework import serializers
from .models import CreatorProfile
class CreatorProfileSerializer(serializers.ModelSerializer):
"""创作者资料序列化器,包含头像处理"""
avatar_display_url = serializers.SerializerMethodField()
class Meta:
model = CreatorProfile
fields = [
'id', 'name', 'avatar', 'avatar_url', 'avatar_display_url',
'email', 'instagram', 'tiktok_link', 'location', 'live_schedule',
'category', 'e_commerce_level', 'exposure_level', 'followers',
'gmv', 'items_sold', 'avg_video_views', 'pricing', 'pricing_package',
'collab_count', 'latest_collab', 'e_commerce_platforms',
'gmv_by_channel', 'gmv_by_category', 'mcn',
'create_time', 'update_time'
]
extra_kwargs = {
'avatar': {'write_only': False}, # 允许读写
'avatar_url': {'write_only': False} # 允许读写
}
def get_avatar_display_url(self, obj):
"""获取头像显示URL优先使用本地图片"""
request = self.context.get('request')
avatar_url = obj.get_avatar_url()
if avatar_url and request:
# 如果是本地图片返回完整的URL
if obj.avatar:
return request.build_absolute_uri(avatar_url)
# 如果是外部URL直接返回
else:
return avatar_url
return avatar_url
class CreatorProfileListSerializer(serializers.ModelSerializer):
"""创作者资料列表序列化器,用于列表显示,字段较少"""
avatar_display_url = serializers.SerializerMethodField()
class Meta:
model = CreatorProfile
fields = [
'id', 'name', 'avatar_display_url', 'category',
'exposure_level', 'followers', 'gmv', 'mcn'
]
def get_avatar_display_url(self, obj):
"""获取头像显示URL"""
request = self.context.get('request')
avatar_url = obj.get_avatar_url()
if avatar_url and request:
if obj.avatar:
return request.build_absolute_uri(avatar_url)
else:
return avatar_url
return avatar_url
class BrandSerializer(serializers.ModelSerializer):
"""品牌序列化器"""
class Meta:
model = Brand
fields = ['id', 'name', 'description', 'logo_url', 'category', 'source',
'collab_count', 'creators_count', 'campaign_id', 'total_gmv_achieved',
'total_views_achieved', 'shop_overall_rating', 'dataset_id_list',
'created_at', 'updated_at', 'is_active']
read_only_fields = ['id', 'created_at', 'updated_at', 'dataset_id_list']
class ProductSerializer(serializers.ModelSerializer):
"""产品序列化器"""
brand_name = serializers.CharField(source='brand.name', read_only=True)
class Meta:
model = Product
fields = ['id', 'brand', 'brand_name', 'name', 'description', 'image_url',
'pid', 'commission_rate', 'open_collab', 'available_samples',
'sales_price_min', 'sales_price_max', 'stock', 'items_sold',
'product_rating', 'reviews_count', 'collab_creators', 'tiktok_shop',
'dataset_id', 'external_id', 'created_at', 'updated_at', 'is_active']
read_only_fields = ['id', 'created_at', 'updated_at']

975
nohup.out Normal file
View File

@ -0,0 +1,975 @@
Watching for file changes with StatReloader
[03/Jun/2025 18:45:15] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:45:15] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 313
[03/Jun/2025 18:45:15] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
[03/Jun/2025 18:45:16] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:45:16] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 313
[03/Jun/2025 18:45:16] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
[03/Jun/2025 18:45:16] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 313
[03/Jun/2025 18:45:17] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
[03/Jun/2025 18:45:18] "GET /datasets/get_user_projects/?user=xiaofeng HTTP/1.1" 200 142
[03/Jun/2025 18:45:19] "GET /datasets/get_user_datasets/?user=xiaofeng HTTP/1.1" 200 223
[03/Jun/2025 18:45:20] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=222 HTTP/1.1" 200 69
[03/Jun/2025 18:45:20] "GET /datasets/get_minio_links/?user=xiaofeng&datasetName=222&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 112428
[03/Jun/2025 18:45:20] "GET /datasets/get_user_projects/?user=xiaofeng HTTP/1.1" 200 142
[03/Jun/2025 18:45:21] "GET /datasets/get_user_projects/?user=xiaofeng HTTP/1.1" 200 142
[03/Jun/2025 18:45:22] "GET /datasets/get_user_projects/?user=xiaofeng HTTP/1.1" 200 142
[03/Jun/2025 18:45:23] "GET /datasets/get_user_projects/?user=xiaofeng HTTP/1.1" 200 142
[03/Jun/2025 18:45:24] "GET /datasets/get_user_projects/?user=xiaofeng HTTP/1.1" 200 142
[03/Jun/2025 18:45:52] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:45:52] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 313
[03/Jun/2025 18:45:52] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
[03/Jun/2025 18:45:53] "GET /datasets/get_user_datasets/?user=xiaofeng HTTP/1.1" 200 223
[03/Jun/2025 18:45:54] "GET /datasets/get_minio_links/?user=xiaofeng&datasetName=222&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 112428
[03/Jun/2025 18:46:02] "GET /datasets/get_dataset_is_upload/?user=xiaofeng&datasetName=222 HTTP/1.1" 200 36
[03/Jun/2025 18:46:02] "POST /training/create_training_task/ HTTP/1.1" 200 82
[03/Jun/2025 18:46:03] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:46:03] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 589
[03/Jun/2025 18:46:03] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
Not Found: /training/get_curr_epoch_data/
[03/Jun/2025 18:46:03] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 404 68
[03/Jun/2025 18:46:06] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:46:06] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 589
[03/Jun/2025 18:46:06] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
Not Found: /training/get_curr_epoch_data/
[03/Jun/2025 18:46:06] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 404 68
[03/Jun/2025 18:46:07] "GET /training/update_training_status/?id=5&status=%E8%AE%AD%E7%BB%83%E4%B8%AD HTTP/1.1" 200 56
[03/Jun/2025 18:46:18] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:46:18] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 589
[03/Jun/2025 18:46:18] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
Not Found: /training/get_curr_epoch_data/
[03/Jun/2025 18:46:18] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 404 68
[03/Jun/2025 18:46:19] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:46:19] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 589
[03/Jun/2025 18:46:19] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
Not Found: /training/get_curr_epoch_data/
[03/Jun/2025 18:46:19] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 404 68
[03/Jun/2025 18:46:24] "GET /training/get_training_epoch_data?training_id=5 HTTP/1.1" 301 0
[03/Jun/2025 18:46:24] "GET /training/get_training_epoch_data/?training_id=5 HTTP/1.1" 200 31
[03/Jun/2025 18:46:27] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:46:27] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 589
[03/Jun/2025 18:46:27] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
Not Found: /training/get_curr_epoch_data/
[03/Jun/2025 18:46:27] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 404 68
[03/Jun/2025 18:46:29] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:46:29] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 589
[03/Jun/2025 18:46:29] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
Not Found: /training/get_curr_epoch_data/
[03/Jun/2025 18:46:29] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 404 68
[03/Jun/2025 18:46:30] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:46:30] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 589
[03/Jun/2025 18:46:30] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
Not Found: /training/get_curr_epoch_data/
[03/Jun/2025 18:46:30] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 404 68
[03/Jun/2025 18:46:31] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:46:31] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 589
[03/Jun/2025 18:46:31] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
Not Found: /training/get_curr_epoch_data/
[03/Jun/2025 18:46:31] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 404 68
[03/Jun/2025 18:46:31] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:46:31] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 589
[03/Jun/2025 18:46:31] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
Not Found: /training/get_curr_epoch_data/
[03/Jun/2025 18:46:31] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 404 68
[03/Jun/2025 18:46:40] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[03/Jun/2025 18:47:06] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[03/Jun/2025 18:47:21] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:47:21] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 589
[03/Jun/2025 18:47:21] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
[03/Jun/2025 18:47:21] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 200 155
[03/Jun/2025 18:47:22] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:47:22] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 589
[03/Jun/2025 18:47:22] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
[03/Jun/2025 18:47:22] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 200 155
[03/Jun/2025 18:47:33] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[03/Jun/2025 18:47:43] "GET /training/update_training_status/?id=5&status=%E8%AE%AD%E7%BB%83%E5%AE%8C%E6%88%90 HTTP/1.1" 200 56
[03/Jun/2025 18:57:38] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[03/Jun/2025 18:57:38] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 595
[03/Jun/2025 18:57:38] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
[03/Jun/2025 18:57:38] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 200 155
[04/Jun/2025 10:03:45] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[04/Jun/2025 10:03:45] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 595
[04/Jun/2025 10:03:45] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
[04/Jun/2025 10:03:45] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 200 155
[04/Jun/2025 10:06:14] "OPTIONS /accounts/login/ HTTP/1.1" 200 0
[04/Jun/2025 10:06:15] "POST /accounts/login/ HTTP/1.1" 200 130
[04/Jun/2025 10:06:15] "GET /datasets/get_user_projects/?user=J HTTP/1.1" 200 136
[04/Jun/2025 10:06:23] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 10:06:25] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[04/Jun/2025 10:06:25] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[04/Jun/2025 10:06:25] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 10:06:26] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 10:06:29] "GET /datasets/get_dataset/?user=J&datasetName=L HTTP/1.1" 200 262
[04/Jun/2025 10:06:30] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 10:08:03] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 10:08:03] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[04/Jun/2025 10:08:03] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[04/Jun/2025 10:08:04] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 10:08:04] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 10:08:05] "GET /datasets/get_dataset/?user=J&datasetName=J HTTP/1.1" 200 228
[04/Jun/2025 10:08:05] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 10:08:51] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 10:08:52] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[04/Jun/2025 10:08:52] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[04/Jun/2025 10:08:52] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 10:08:52] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 10:08:56] "GET /datasets/get_user_projects/?user=J HTTP/1.1" 200 136
[04/Jun/2025 10:08:59] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 10:08:59] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[04/Jun/2025 10:08:59] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[04/Jun/2025 10:08:59] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 10:09:00] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 10:09:01] "GET /datasets/get_user_projects/?user=J HTTP/1.1" 200 136
[04/Jun/2025 10:09:17] "GET /datasets/get_user_projects/?user=J HTTP/1.1" 200 136
[04/Jun/2025 10:49:30] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:49:30] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 566
[04/Jun/2025 10:49:30] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:49:30] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 10:49:38] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 10:49:39] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 10:49:39] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 10:50:02] "GET /datasets/get_dataset_is_upload/?user=J&datasetName=J HTTP/1.1" 200 36
[04/Jun/2025 10:50:02] "POST /training/create_training_task/ HTTP/1.1" 200 82
[04/Jun/2025 10:50:04] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:50:04] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 10:50:04] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:50:04] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 10:50:04] "GET /training/get_curr_epoch_data/?training_id=6 HTTP/1.1" 404 68
[04/Jun/2025 10:50:07] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:50:07] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 10:50:07] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:50:07] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 10:50:07] "GET /training/get_curr_epoch_data/?training_id=6 HTTP/1.1" 404 68
[04/Jun/2025 10:50:08] "GET /training/update_training_status/?id=6&status=%E8%AE%AD%E7%BB%83%E4%B8%AD HTTP/1.1" 200 56
[04/Jun/2025 10:50:09] "GET /training/get_training_epoch_data?training_id=6 HTTP/1.1" 301 0
[04/Jun/2025 10:50:09] "GET /training/get_training_epoch_data/?training_id=6 HTTP/1.1" 200 31
[04/Jun/2025 10:50:14] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:50:14] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 10:50:14] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:50:14] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 10:50:14] "GET /training/get_curr_epoch_data/?training_id=6 HTTP/1.1" 404 68
[04/Jun/2025 10:50:30] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 10:50:46] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 10:51:03] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 10:51:19] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 10:51:35] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 10:51:52] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 10:52:08] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 10:52:20] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:52:20] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 10:52:20] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:52:20] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 10:52:20] "GET /training/get_curr_epoch_data/?training_id=6 HTTP/1.1" 200 155
[04/Jun/2025 10:52:23] "GET /training/get_training_epoch_data/?training_id=6 HTTP/1.1" 200 1028
[04/Jun/2025 10:52:25] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 10:52:28] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:52:28] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 10:52:28] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:52:28] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 10:52:28] "GET /training/get_curr_epoch_data/?training_id=6 HTTP/1.1" 200 153
[04/Jun/2025 10:52:33] "GET /training/update_training_status/?id=6&status=%E8%AE%AD%E7%BB%83%E5%AE%8C%E6%88%90 HTTP/1.1" 200 56
[04/Jun/2025 10:52:35] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:52:35] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 10:52:35] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:52:35] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 10:52:35] "GET /training/get_curr_epoch_data/?training_id=6 HTTP/1.1" 200 153
[04/Jun/2025 10:52:57] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:52:57] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 10:52:57] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:52:57] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 10:52:57] "GET /training/get_curr_epoch_data/?training_id=6 HTTP/1.1" 200 153
[04/Jun/2025 10:53:01] "GET /training/get_training_epoch_data/?training_id=6 HTTP/1.1" 200 1169
[04/Jun/2025 10:56:25] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:56:25] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 10:56:25] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:56:25] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 10:56:25] "GET /training/get_curr_epoch_data/?training_id=6 HTTP/1.1" 200 153
[04/Jun/2025 10:56:27] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:56:27] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 10:56:28] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:56:28] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 10:56:28] "GET /training/get_curr_epoch_data/?training_id=6 HTTP/1.1" 200 153
[04/Jun/2025 10:56:49] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:56:49] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 10:56:49] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:56:49] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 10:56:49] "GET /training/get_curr_epoch_data/?training_id=6 HTTP/1.1" 200 153
[04/Jun/2025 10:56:54] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:56:54] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 10:56:54] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:56:54] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 10:56:54] "GET /training/get_curr_epoch_data/?training_id=6 HTTP/1.1" 200 153
[04/Jun/2025 10:56:56] "GET /training/delete_project_training_task/?id=6&user=J&projectName=J HTTP/1.1" 200 56
[04/Jun/2025 10:56:57] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:56:57] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 566
[04/Jun/2025 10:56:57] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:56:57] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 10:57:22] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 10:57:22] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 10:57:23] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 10:57:55] "GET /datasets/get_dataset_is_upload/?user=J&datasetName=L HTTP/1.1" 200 36
[04/Jun/2025 10:57:55] "POST /training/create_training_task/ HTTP/1.1" 200 82
[04/Jun/2025 10:57:56] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:57:56] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 10:57:56] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:57:56] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 10:57:57] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 404 68
[04/Jun/2025 10:58:00] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:58:00] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 10:58:00] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:58:00] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 10:58:00] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 404 68
[04/Jun/2025 10:58:00] "GET /training/update_training_status/?id=7&status=%E8%AE%AD%E7%BB%83%E4%B8%AD HTTP/1.1" 200 56
[04/Jun/2025 10:58:57] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:58:57] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 10:58:57] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 404 68
[04/Jun/2025 10:59:36] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 10:59:56] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 10:59:56] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 10:59:56] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 10:59:56] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 10:59:56] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 11:00:20] "GET /training/get_training_epoch_data?training_id=7 HTTP/1.1" 301 0
[04/Jun/2025 11:00:20] "GET /training/get_training_epoch_data/?training_id=7 HTTP/1.1" 200 172
[04/Jun/2025 11:01:03] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:01:09] "GET /training/get_training_epoch_data/?training_id=7 HTTP/1.1" 200 315
[04/Jun/2025 11:01:22] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 11:01:22] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 11:01:22] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 11:01:22] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 11:01:22] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 11:01:23] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 11:01:23] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 11:01:23] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 11:01:23] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 11:01:23] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 11:01:26] "GET /training/get_training_epoch_data/?training_id=7 HTTP/1.1" 200 315
[04/Jun/2025 11:02:30] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:02:51] "GET /training/get_training_epoch_data/?training_id=7 HTTP/1.1" 200 458
[04/Jun/2025 11:03:02] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 11:03:03] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 11:03:03] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 11:03:03] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 11:03:03] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 11:03:06] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 11:03:06] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 828
[04/Jun/2025 11:03:06] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 11:03:06] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 11:03:06] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 11:03:57] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:05:23] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:06:48] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:07:02] "GET /training/update_training_status/?id=7&status=%E8%AE%AD%E7%BB%83%E5%AE%8C%E6%88%90 HTTP/1.1" 200 56
[04/Jun/2025 11:07:48] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 11:07:48] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 11:07:48] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 11:07:48] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 11:07:49] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 11:07:52] "GET /training/get_training_epoch_data/?training_id=7 HTTP/1.1" 200 886
[04/Jun/2025 11:08:52] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 11:08:52] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 11:08:52] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 11:08:52] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 11:08:52] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 11:09:07] "GET /training/get_training_epoch_data?training_id=3 HTTP/1.1" 301 0
[04/Jun/2025 11:09:07] "GET /training/get_training_epoch_data/?training_id=3 HTTP/1.1" 200 739
[04/Jun/2025 11:09:10] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 11:09:10] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 11:09:10] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 11:09:10] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 11:09:10] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
Performing system checks...
System check identified no issues (0 silenced).
June 03, 2025 - 18:45:13
Django version 4.2.17, using settings 'AIproject.settings'
Starting development server at http://0.0.0.0:8100/
Quit the server with CONTROL-C.
4
4
4
4
4
5
4
5
4
5
4
5
[]
4
5
4
5
4
5
4
5
4
5
4
5
4
5
4
5
4
5
Attempting to log in with email: J@163.com and password: 123456
找到用户: J
密码验证成功
更新现有的 token
2
3
2
3
6
2
3
6
[]
2
3
6
2
3
6
[{'id': 24, 'epoch_number': 0, 'mAP50': 0.143, 'mAP95': 0.038, 'precision': 0.096, 'recall': 0.773, 'create_time': datetime.datetime(2025, 6, 4, 2, 50, 30, 751453, tzinfo=datetime.timezone.utc)}, {'id': 25, 'epoch_number': 1, 'mAP50': 0.974, 'mAP95': 0.569, 'precision': 0.941, 'recall': 0.909, 'create_time': datetime.datetime(2025, 6, 4, 2, 50, 46, 904488, tzinfo=datetime.timezone.utc)}, {'id': 26, 'epoch_number': 2, 'mAP50': 0.786, 'mAP95': 0.398, 'precision': 0.691, 'recall': 0.957, 'create_time': datetime.datetime(2025, 6, 4, 2, 51, 3, 284778, tzinfo=datetime.timezone.utc)}, {'id': 27, 'epoch_number': 3, 'mAP50': 0.912, 'mAP95': 0.39, 'precision': 0.775, 'recall': 0.883, 'create_time': datetime.datetime(2025, 6, 4, 2, 51, 19, 142062, tzinfo=datetime.timezone.utc)}, {'id': 28, 'epoch_number': 4, 'mAP50': 0.977, 'mAP95': 0.661, 'precision': 0.915, 'recall': 0.94, 'create_time': datetime.datetime(2025, 6, 4, 2, 51, 35, 347137, tzinfo=datetime.timezone.utc)}, {'id': 29, 'epoch_number': 5, 'mAP50': 0.995, 'mAP95': 0.627, 'precision': 0.996, 'recall': 0.997, 'create_time': datetime.datetime(2025, 6, 4, 2, 51, 52, 30260, tzinfo=datetime.timezone.utc)}, {'id': 30, 'epoch_number': 6, 'mAP50': 0.995, 'mAP95': 0.716, 'precision': 0.996, 'recall': 0.997, 'create_time': datetime.datetime(2025, 6, 4, 2, 52, 8, 494801, tzinfo=datetime.timezone.utc)}]
2
3
6
2
3
6
2
3
6
[{'id': 24, 'epoch_number': 0, 'mAP50': 0.143, 'mAP95': 0.038, 'precision': 0.096, 'recall': 0.773, 'create_time': datetime.datetime(2025, 6, 4, 2, 50, 30, 751453, tzinfo=datetime.timezone.utc)}, {'id': 25, 'epoch_number': 1, 'mAP50': 0.974, 'mAP95': 0.569, 'precision': 0.941, 'recall': 0.909, 'create_time': datetime.datetime(2025, 6, 4, 2, 50, 46, 904488, tzinfo=datetime.timezone.utc)}, {'id': 26, 'epoch_number': 2, 'mAP50': 0.786, 'mAP95': 0.398, 'precision': 0.691, 'recall': 0.957, 'create_time': datetime.datetime(2025, 6, 4, 2, 51, 3, 284778, tzinfo=datetime.timezone.utc)}, {'id': 27, 'epoch_number': 3, 'mAP50': 0.912, 'mAP95': 0.39, 'precision': 0.775, 'recall': 0.883, 'create_time': datetime.datetime(2025, 6, 4, 2, 51, 19, 142062, tzinfo=datetime.timezone.utc)}, {'id': 28, 'epoch_number': 4, 'mAP50': 0.977, 'mAP95': 0.661, 'precision': 0.915, 'recall': 0.94, 'create_time': datetime.datetime(2025, 6, 4, 2, 51, 35, 347137, tzinfo=datetime.timezone.utc)}, {'id': 29, 'epoch_number': 5, 'mAP50': 0.995, 'mAP95': 0.627, 'precision': 0.996, 'recall': 0.997, 'create_time': datetime.datetime(2025, 6, 4, 2, 51, 52, 30260, tzinfo=datetime.timezone.utc)}, {'id': 30, 'epoch_number': 6, 'mAP50': 0.995, 'mAP95': 0.716, 'precision': 0.996, 'recall': 0.997, 'create_time': datetime.datetime(2025, 6, 4, 2, 52, 8, 494801, tzinfo=datetime.timezone.utc)}, {'id': 31, 'epoch_number': 7, 'mAP50': 0.995, 'mAP95': 0.747, 'precision': 0.999, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 4, 2, 52, 25, 80538, tzinfo=datetime.timezone.utc)}]
2
3
6
2
3
6
2
3
6
2
3
6
2
3
2
3
7
2
3
7
2
3
7
2
3
7
[{'id': 32, 'epoch_number': 0, 'mAP50': 0.263, 'mAP95': 0.093, 'precision': 0.212, 'recall': 0.768, 'create_time': datetime.datetime(2025, 6, 4, 2, 59, 36, 980413, tzinfo=datetime.timezone.utc)}]
[{'id': 32, 'epoch_number': 0, 'mAP50': 0.263, 'mAP95': 0.093, 'precision': 0.212, 'recall': 0.768, 'create_time': datetime.datetime(2025, 6, 4, 2, 59, 36, 980413, tzinfo=datetime.timezone.utc)}, {'id': 33, 'epoch_number': 1, 'mAP50': 0.549, 'mAP95': 0.329, 'precision': 0.702, 'recall': 0.504, 'create_time': datetime.datetime(2025, 6, 4, 3, 1, 3, 432693, tzinfo=datetime.timezone.utc)}]
2
3
7
2
3
7
[{'id': 32, 'epoch_number': 0, 'mAP50': 0.263, 'mAP95': 0.093, 'precision': 0.212, 'recall': 0.768, 'create_time': datetime.datetime(2025, 6, 4, 2, 59, 36, 980413, tzinfo=datetime.timezone.utc)}, {'id': 33, 'epoch_number': 1, 'mAP50': 0.549, 'mAP95': 0.329, 'precision': 0.702, 'recall': 0.504, 'create_time': datetime.datetime(2025, 6, 4, 3, 1, 3, 432693, tzinfo=datetime.timezone.utc)}]
[{'id': 32, 'epoch_number': 0, 'mAP50': 0.263, 'mAP95': 0.093, 'precision': 0.212, 'recall': 0.768, 'create_time': datetime.datetime(2025, 6, 4, 2, 59, 36, 980413, tzinfo=datetime.timezone.utc)}, {'id': 33, 'epoch_number': 1, 'mAP50': 0.549, 'mAP95': 0.329, 'precision': 0.702, 'recall': 0.504, 'create_time': datetime.datetime(2025, 6, 4, 3, 1, 3, 432693, tzinfo=datetime.timezone.utc)}, {'id': 34, 'epoch_number': 2, 'mAP50': 0.651, 'mAP95': 0.269, 'precision': 0.854, 'recall': 0.601, 'create_time': datetime.datetime(2025, 6, 4, 3, 2, 30, 19010, tzinfo=datetime.timezone.utc)}]
2
3
7
2
3
7
2
3
7
[{'id': 32, 'epoch_number': 0, 'mAP50': 0.263, 'mAP95': 0.093, 'precision': 0.212, 'recall': 0.768, 'create_time': datetime.datetime(2025, 6, 4, 2, 59, 36, 980413, tzinfo=datetime.timezone.utc)}, {'id': 33, 'epoch_number': 1, 'mAP50': 0.549, 'mAP95': 0.329, 'precision': 0.702, 'recall': 0.504, 'create_time': datetime.datetime(2025, 6, 4, 3, 1, 3, 432693, tzinfo=datetime.timezone.utc)}, {'id': 34, 'epoch_number': 2, 'mAP50': 0.651, 'mAP95': 0.269, 'precision': 0.854, 'recall': 0.601, 'create_time': datetime.datetime(2025, 6, 4, 3, 2, 30, 19010, tzinfo=datetime.timezone.utc)}, {'id': 35, 'epoch_number': 3, 'mAP50': 0.746, 'mAP95': 0.449, 'precision': 0.532, 'recall': 0.853, 'create_time': datetime.datetime(2025, 6, 4, 3, 3, 57, 468854, tzinfo=datetime.timezone.utc)}, {'id': 36, 'epoch_number': 4, 'mAP50': 0.776, 'mAP95': 0.521, 'precision': 0.62, 'recall': 0.991, 'create_time': datetime.datetime(2025, 6, 4, 3, 5, 23, 196693, tzinfo=datetime.timezone.utc)}, {'id': 37, 'epoch_number': 5, 'mAP50': 0.767, 'mAP95': 0.558, 'precision': 0.632, 'recall': 0.993, 'create_time': datetime.datetime(2025, 6, 4, 3, 6, 48, 427199, tzinfo=datetime.timezone.utc)}]
2
3
7
[{'id': 6, 'epoch_number': 0, 'mAP50': 0.263, 'mAP95': 0.093, 'precision': 0.212, 'recall': 0.768, 'create_time': datetime.datetime(2025, 6, 3, 9, 51, 39, 904577, tzinfo=datetime.timezone.utc)}, {'id': 7, 'epoch_number': 1, 'mAP50': 0.259, 'mAP95': 0.082, 'precision': 0.22, 'recall': 0.791, 'create_time': datetime.datetime(2025, 6, 3, 9, 53, 5, 798132, tzinfo=datetime.timezone.utc)}, {'id': 8, 'epoch_number': 2, 'mAP50': 0.689, 'mAP95': 0.405, 'precision': 0.925, 'recall': 0.592, 'create_time': datetime.datetime(2025, 6, 3, 9, 54, 29, 496720, tzinfo=datetime.timezone.utc)}, {'id': 9, 'epoch_number': 3, 'mAP50': 0.743, 'mAP95': 0.479, 'precision': 0.878, 'recall': 0.625, 'create_time': datetime.datetime(2025, 6, 3, 9, 55, 52, 882599, tzinfo=datetime.timezone.utc)}, {'id': 10, 'epoch_number': 4, 'mAP50': 0.768, 'mAP95': 0.565, 'precision': 0.645, 'recall': 0.984, 'create_time': datetime.datetime(2025, 6, 3, 9, 57, 15, 866817, tzinfo=datetime.timezone.utc)}]
2
3
7
[{'id': 32, 'epoch_number': 0, 'mAP50': 0.263, 'mAP95': 0.093, 'precision': 0.212, 'recall': 0.768, 'create_time': datetime.datetime(2025, 6, 4, 2, 59, 36, 980413, tzinfo=datetime.timezone.utc)}, {'id': 33, 'epoch_number': 1, 'mAP50': 0.549, 'mAP95': 0.329, 'precision': 0.702, 'recall': 0.504, 'create_time': datetime.datetime(2025, 6, 4, 3, 1, 3, 432693, tzinfo=datetime.timezone.utc)}, {'id': 34, 'epoch_number': 2, 'mAP50': 0.651, 'mAP95': 0.269, 'precision': 0.854, 'recall': 0.601, 'create_time': datetime.datetime(2025, 6, 4, 3, 2, 30, 19010, tzinfo=datetime.timezone.utc)}, {'id': 35, 'epoch_number': 3, 'mAP50': 0.746, 'mAP95': 0.449, 'precision': 0.532, 'recall': 0.853, 'create_time': datetime.datetime(2025, 6, 4, 3, 3, 57, 468854, tzinfo=datetime.timezone.utc)}, {'id': 36, 'epoch_number': 4, 'mAP50': 0.776, 'mAP95': 0.521, 'precision': 0.62, 'recall': 0.991, 'create_time': datetime.datetime(2025, 6, 4, 3, 5, 23, 196693, tzinfo=datetime.timezone.utc)}, {'id': 37, 'epoch_number': 5, 'mAP50': 0.767, 'mAP95': 0.558, 'precision': 0.632, 'recall': 0.993, 'create_time': datetime.datetime(2025, 6, 4, 3, 6, 48, 427199, tzinfo=datetime.timezone.utc)}][04/Jun/2025 11:09:12] "GET /training/get_training_epoch_data/?training_id=7 HTTP/1.1" 200 886
[04/Jun/2025 11:09:17] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 11:09:17] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 11:09:18] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 11:09:18] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 11:09:18] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 11:09:19] "GET /training/get_training_epoch_data?training_id=2 HTTP/1.1" 301 0
[04/Jun/2025 11:09:19] "GET /training/get_training_epoch_data/?training_id=2 HTTP/1.1" 200 453
[04/Jun/2025 11:09:23] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 11:09:23] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 11:09:23] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 11:09:23] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 11:09:23] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 11:11:09] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 11:11:09] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 11:11:09] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 11:11:09] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 11:11:09] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 11:34:42] "OPTIONS /accounts/register/ HTTP/1.1" 200 0
[04/Jun/2025 11:34:42] "POST /accounts/register/ HTTP/1.1" 200 56
[04/Jun/2025 11:34:55] "OPTIONS /accounts/login/ HTTP/1.1" 200 0
[04/Jun/2025 11:34:55] "POST /accounts/login/ HTTP/1.1" 200 143
[04/Jun/2025 11:34:55] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 16
[04/Jun/2025 11:34:57] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 16
[04/Jun/2025 11:35:15] "OPTIONS /datasets/upload/ HTTP/1.1" 200 0
[04/Jun/2025 11:35:17] "POST /datasets/upload/ HTTP/1.1" 200 74
[04/Jun/2025 11:35:19] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 243
[04/Jun/2025 11:35:19] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 30
[04/Jun/2025 11:35:19] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[04/Jun/2025 11:35:47] "POST /datasets/upload/ HTTP/1.1" 200 74
[04/Jun/2025 11:35:49] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 505
[04/Jun/2025 11:35:49] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[04/Jun/2025 11:35:49] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 30
[04/Jun/2025 11:35:49] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[04/Jun/2025 11:35:49] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 131428
[04/Jun/2025 11:35:51] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 16
[04/Jun/2025 11:36:05] "POST /datasets/create_project/ HTTP/1.1" 200 62
[04/Jun/2025 11:36:07] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 170
[04/Jun/2025 11:36:12] "POST /datasets/create_project/ HTTP/1.1" 200 62
[04/Jun/2025 11:36:14] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[04/Jun/2025 11:36:14] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 11:36:14] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 32
[04/Jun/2025 11:36:16] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 505
[04/Jun/2025 11:36:16] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 131428
[04/Jun/2025 11:36:16] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 246879
[04/Jun/2025 11:36:25] "GET /datasets/get_dataset_is_upload/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 36
[04/Jun/2025 11:36:25] "POST /training/create_training_task/ HTTP/1.1" 200 82
[04/Jun/2025 11:36:27] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 11:36:27] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 356
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 11:36:27] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 404 68
[04/Jun/2025 11:36:30] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 11:36:30] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 356
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 11:36:30] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 404 68
[04/Jun/2025 11:36:32] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[04/Jun/2025 11:36:35] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[04/Jun/2025 11:36:35] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 32
[04/Jun/2025 11:36:36] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[04/Jun/2025 11:36:37] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 11:36:37] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 356
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 11:36:37] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 404 68
[04/Jun/2025 11:36:39] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 11:36:39] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 356
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 11:36:39] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 404 68
[04/Jun/2025 11:36:39] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 11:36:39] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 356
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 11:36:39] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 404 68
[04/Jun/2025 11:36:42] "GET /training/update_training_status/?id=8&status=%E8%AE%AD%E7%BB%83%E4%B8%AD HTTP/1.1" 200 56
[04/Jun/2025 11:36:55] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 11:36:55] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 356
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 11:36:55] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 404 68
[04/Jun/2025 11:36:59] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 11:36:59] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 356
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 11:36:59] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 404 68
[04/Jun/2025 11:37:05] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:37:25] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:37:42] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:37:57] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 11:37:57] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 356
[04/Jun/2025 11:37:57] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 200 154
[04/Jun/2025 11:37:58] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 11:37:58] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 356
[04/Jun/2025 11:37:58] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 200 154
[04/Jun/2025 11:37:59] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:38:16] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:38:33] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:38:49] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:39:06] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:39:23] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:39:41] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 11:39:50] "GET /training/update_training_status/?id=8&status=%E8%AE%AD%E7%BB%83%E5%AE%8C%E6%88%90 HTTP/1.1" 200 56
[04/Jun/2025 11:59:45] "POST /accounts/login/ HTTP/1.1" 200 143
[04/Jun/2025 11:59:45] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[04/Jun/2025 11:59:47] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 504
[04/Jun/2025 11:59:47] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[04/Jun/2025 11:59:47] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[04/Jun/2025 11:59:48] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 131428
[04/Jun/2025 11:59:48] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[04/Jun/2025 11:59:49] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[04/Jun/2025 11:59:50] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 11:59:50] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 362
[04/Jun/2025 11:59:50] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 200 153
[04/Jun/2025 11:59:51] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[04/Jun/2025 11:59:52] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[04/Jun/2025 11:59:52] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 32
[04/Jun/2025 11:59:54] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[04/Jun/2025 15:25:08] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 15:25:08] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 15:25:08] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 15:25:08] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 15:25:08] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 15:25:14] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 15:25:14] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[04/Jun/2025 15:25:14] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[04/Jun/2025 15:25:15] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 15:25:15] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:25:18] "GET /datasets/get_dataset/?user=J&datasetName=L HTTP/1.1" 200 262
[04/Jun/2025 15:25:18] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:25:22] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 15:25:22] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[04/Jun/2025 15:25:22] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[04/Jun/2025 15:25:23] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 15:25:23] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:25:24] "GET /datasets/get_dataset/?user=J&datasetName=L HTTP/1.1" 200 262
[04/Jun/2025 15:25:24] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:25:26] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 15:25:26] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[04/Jun/2025 15:25:26] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[04/Jun/2025 15:25:26] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 15:25:27] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:25:28] "GET /datasets/get_dataset/?user=J&datasetName=L HTTP/1.1" 200 262
[04/Jun/2025 15:25:28] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:25:29] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 15:25:29] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[04/Jun/2025 15:25:29] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[04/Jun/2025 15:25:30] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 15:25:30] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:25:33] "GET /datasets/get_dataset/?user=J&datasetName=L HTTP/1.1" 200 262
[04/Jun/2025 15:25:33] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:25:35] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 15:25:35] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[04/Jun/2025 15:25:35] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[04/Jun/2025 15:25:35] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 15:25:36] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:25:38] "GET /datasets/get_dataset/?user=J&datasetName=L HTTP/1.1" 200 262
[04/Jun/2025 15:25:39] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:25:40] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 15:25:40] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 15:25:40] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 15:25:40] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 15:25:40] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 15:25:40] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 15:25:43] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 15:25:43] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[04/Jun/2025 15:25:43] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[04/Jun/2025 15:25:43] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 15:25:44] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:26:14] "GET /datasets/get_user_projects/?user=J HTTP/1.1" 200 136
[04/Jun/2025 15:26:15] "GET /datasets/get_project/?user=J&projectName=J HTTP/1.1" 200 150
[04/Jun/2025 15:26:15] "GET /training/get_project_training_tasks/?user=J&projectName=J HTTP/1.1" 200 834
[04/Jun/2025 15:26:15] "GET /training/get_curr_epoch_data/?training_id=2 HTTP/1.1" 200 152
[04/Jun/2025 15:26:15] "GET /training/get_curr_epoch_data/?training_id=3 HTTP/1.1" 200 155
[04/Jun/2025 15:26:15] "GET /training/get_curr_epoch_data/?training_id=7 HTTP/1.1" 200 155
[04/Jun/2025 15:26:17] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[04/Jun/2025 15:26:18] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[04/Jun/2025 15:26:18] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[04/Jun/2025 15:26:18] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[04/Jun/2025 15:26:18] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[04/Jun/2025 15:26:20] "GET /datasets/get_user_projects/?user=J HTTP/1.1" 200 136
Watching for file changes with StatReloader
[04/Jun/2025 18:20:19] "GET /datasets/get_user_projects/?user=xiaofeng HTTP/1.1" 200 142
[04/Jun/2025 18:20:21] "GET /datasets/get_user_projects/?user=xiaofeng HTTP/1.1" 200 142
[04/Jun/2025 18:20:30] "GET /datasets/get_project/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 156
[04/Jun/2025 18:20:30] "GET /training/get_project_training_tasks/?user=xiaofeng&projectName=232332 HTTP/1.1" 200 595
[04/Jun/2025 18:20:30] "GET /training/get_curr_epoch_data/?training_id=4 HTTP/1.1" 200 151
[04/Jun/2025 18:20:30] "GET /training/get_curr_epoch_data/?training_id=5 HTTP/1.1" 200 155
[04/Jun/2025 18:20:41] "GET /datasets/get_user_datasets/?user=xiaofeng HTTP/1.1" 200 223
[04/Jun/2025 18:20:42] "GET /datasets/get_minio_links/?user=xiaofeng&datasetName=222&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 112428
[04/Jun/2025 18:20:54] "GET /datasets/get_dataset_is_upload/?user=xiaofeng&datasetName=222 HTTP/1.1" 200 36
Internal Server Error: /training/create_training_task/
Traceback (most recent call last):
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/urllib3/connection.py", line 198, in _new_conn
sock = connection.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/urllib3/connectionpool.py", line 493, in _make_request
conn.request(
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/urllib3/connection.py", line 445, in request
self.endheaders()
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/http/client.py", line 1298, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/http/client.py", line 1058, in _send_output
self.send(msg)
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/http/client.py", line 996, in send
self.connect()
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/urllib3/connection.py", line 276, in connect
self.sock = self._new_conn()
^^^^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/urllib3/connection.py", line 213, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7fad2e640fd0>: Failed to establish a new connection: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/urllib3/util/retry.py", line 519, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='192.168.31.138', port=5000): Max retries exceeded with url: /train_detect (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fad2e640fd0>: Failed to establish a new connection: [Errno 111] Connection refused'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view
return view_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ooin/ooin_training/TrainingPlatform_Django/training/views.py", line 47, in create_training_task
response = requests.post(f'{FLASK_API}/train_detect', json={
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/requests/api.py", line 115, in post
return request("post", url, data=data, json=json, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.31.138', port=5000): Max retries exceeded with url: /train_detect (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fad2e640fd0>: Failed to establish a new connection: [Errno 111] Connection refused'))
[04/Jun/2025 18:20:54] "POST /training/create_training_task/ HTTP/1.1" 500 183551
Performing system checks...
System check identified no issues (0 silenced).
June 04, 2025 - 18:18:30
Django version 4.2.17, using settings 'AIproject.settings'
Starting development server at http://0.0.0.0:8097/
Quit the server with CONTROL-C.
4
5
Watching for file changes with StatReloader
[04/Jun/2025 18:25:59] "GET /datasets/get_user_projects/?user=xiaofeng HTTP/1.1" 200 142
[04/Jun/2025 18:26:14] "POST /accounts/login/ HTTP/1.1" 200 143
[04/Jun/2025 18:26:14] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[04/Jun/2025 18:26:16] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[04/Jun/2025 18:26:16] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 362
[04/Jun/2025 18:26:16] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 200 153
[04/Jun/2025 18:26:18] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[04/Jun/2025 18:26:19] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[04/Jun/2025 18:26:19] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 32
[04/Jun/2025 18:26:26] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 504
[04/Jun/2025 18:26:26] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 131428
[04/Jun/2025 18:26:27] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[04/Jun/2025 18:26:43] "GET /datasets/get_dataset_is_upload/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B HTTP/1.1" 200 36
[04/Jun/2025 18:26:43] "POST /training/create_training_task/ HTTP/1.1" 200 82
[04/Jun/2025 18:26:44] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[04/Jun/2025 18:26:44] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 345
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 18:26:44] "GET /training/get_curr_epoch_data/?training_id=12 HTTP/1.1" 404 68
[04/Jun/2025 18:27:27] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[04/Jun/2025 18:27:27] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 345
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 18:27:27] "GET /training/get_curr_epoch_data/?training_id=12 HTTP/1.1" 404 68
[04/Jun/2025 18:27:29] "GET /training/update_training_status/?id=12&status=%E8%AE%AD%E7%BB%83%E4%B8%AD HTTP/1.1" 200 56
[04/Jun/2025 18:27:34] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[04/Jun/2025 18:27:34] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 345
Not Found: /training/get_curr_epoch_data/
[04/Jun/2025 18:27:34] "GET /training/get_curr_epoch_data/?training_id=12 HTTP/1.1" 404 68
[04/Jun/2025 18:28:57] "OPTIONS /accounts/login/ HTTP/1.1" 200 0
[04/Jun/2025 18:28:57] "POST /accounts/login/ HTTP/1.1" 200 145
[04/Jun/2025 18:28:57] "GET /datasets/get_user_projects/?user=xiaofeng HTTP/1.1" 200 142
[04/Jun/2025 18:29:01] "GET /datasets/get_user_datasets/?user=xiaofeng HTTP/1.1" 200 223
[04/Jun/2025 18:29:01] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=222 HTTP/1.1" 200 69
[04/Jun/2025 18:29:01] "GET /datasets/get_minio_links/?user=xiaofeng&datasetName=222&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 112428
[04/Jun/2025 18:29:02] "GET /datasets/get_dataset/?user=xiaofeng&datasetName=222 HTTP/1.1" 200 237
[04/Jun/2025 18:29:03] "GET /datasets/get_minio_links/?user=xiaofeng&datasetName=222&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 112428
[04/Jun/2025 18:29:08] "GET /datasets/get_user_datasets/?user=xiaofeng HTTP/1.1" 200 223
[04/Jun/2025 18:29:08] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=222 HTTP/1.1" 200 69
[04/Jun/2025 18:29:08] "GET /datasets/get_minio_links/?user=xiaofeng&datasetName=222&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 112428
[04/Jun/2025 18:29:23] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:31:12] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:32:55] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:34:36] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:36:18] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:37:58] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:39:38] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:41:19] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:43:00] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:44:41] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:46:23] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:48:04] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:49:46] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:51:25] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:53:07] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:54:50] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:56:31] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:58:13] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 18:59:54] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 19:01:36] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[04/Jun/2025 19:01:50] "GET /training/update_training_status/?id=12&status=%E8%AE%AD%E7%BB%83%E5%AE%8C%E6%88%90 HTTP/1.1" 200 56
[05/Jun/2025 01:05:08] "OPTIONS /accounts/get_user_info HTTP/1.1" 200 0
[05/Jun/2025 01:05:08] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[05/Jun/2025 01:05:08] "OPTIONS /accounts/get_user_info/ HTTP/1.1" 200 0
[05/Jun/2025 01:05:08] "GET /training/get_project_training_tasks/?user=&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 32
Unauthorized: /accounts/get_user_info/
[05/Jun/2025 01:05:08] "GET /accounts/get_user_info/ HTTP/1.1" 401 45
[05/Jun/2025 09:54:48] "GET /datasets/get_user_projects/?user=J HTTP/1.1" 200 136
[05/Jun/2025 09:54:52] "GET /datasets/get_user_projects/?user=J HTTP/1.1" 200 136
[05/Jun/2025 09:54:53] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[05/Jun/2025 09:54:53] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[05/Jun/2025 09:54:53] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[05/Jun/2025 09:54:53] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[05/Jun/2025 09:54:54] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[05/Jun/2025 10:15:28] "OPTIONS /accounts/get_user_info HTTP/1.1" 200 0
[05/Jun/2025 10:15:28] "GET /accounts/get_user_info HTTP/1.1" 301 0
[05/Jun/2025 10:15:28] "OPTIONS /accounts/get_user_info/ HTTP/1.1" 200 0
Unauthorized: /accounts/get_user_info/
[05/Jun/2025 10:15:28] "GET /accounts/get_user_info/ HTTP/1.1" 401 45
[05/Jun/2025 10:15:58] "OPTIONS /accounts/login/ HTTP/1.1" 200 0
[05/Jun/2025 10:15:59] "POST /accounts/login/ HTTP/1.1" 200 143
[05/Jun/2025 10:15:59] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[05/Jun/2025 10:16:04] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 504
[05/Jun/2025 10:16:04] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[05/Jun/2025 10:16:04] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[05/Jun/2025 10:16:04] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 131428
[05/Jun/2025 10:16:05] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[05/Jun/2025 10:16:27] "GET /datasets/get_dataset/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B HTTP/1.1" 200 290
[05/Jun/2025 10:16:28] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[05/Jun/2025 10:16:35] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[05/Jun/2025 10:16:37] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 504
[05/Jun/2025 10:16:37] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[05/Jun/2025 10:16:37] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[05/Jun/2025 10:16:37] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 131428
[05/Jun/2025 10:16:38] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[05/Jun/2025 10:16:38] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[05/Jun/2025 10:16:43] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[05/Jun/2025 10:16:43] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 351
[05/Jun/2025 10:16:43] "GET /training/get_curr_epoch_data/?training_id=12 HTTP/1.1" 200 156
[05/Jun/2025 10:16:47] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 504
[05/Jun/2025 10:16:48] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 131428
[05/Jun/2025 10:16:48] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[05/Jun/2025 10:17:04] "GET /datasets/get_dataset_is_upload/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B HTTP/1.1" 200 36
[05/Jun/2025 10:17:04] "POST /training/create_training_task/ HTTP/1.1" 200 82
[05/Jun/2025 10:17:06] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[05/Jun/2025 10:17:06] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 665
[05/Jun/2025 10:17:06] "GET /training/get_curr_epoch_data/?training_id=12 HTTP/1.1" 200 156
Not Found: /training/get_curr_epoch_data/
[05/Jun/2025 10:17:06] "GET /training/get_curr_epoch_data/?training_id=13 HTTP/1.1" 404 68
[05/Jun/2025 10:17:08] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[05/Jun/2025 10:17:08] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 665
[05/Jun/2025 10:17:08] "GET /training/get_curr_epoch_data/?training_id=12 HTTP/1.1" 200 156
Not Found: /training/get_curr_epoch_data/
[05/Jun/2025 10:17:08] "GET /training/get_curr_epoch_data/?training_id=13 HTTP/1.1" 404 68
[05/Jun/2025 10:17:09] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 504
[05/Jun/2025 10:17:09] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 131428
[05/Jun/2025 10:17:10] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[05/Jun/2025 10:17:11] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[05/Jun/2025 10:17:11] "GET /training/update_training_status/?id=13&status=%E8%AE%AD%E7%BB%83%E4%B8%AD HTTP/1.1" 200 56
[05/Jun/2025 10:17:12] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[05/Jun/2025 10:17:12] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 362
[05/Jun/2025 10:17:12] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 200 153
[05/Jun/2025 10:17:13] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 504
[05/Jun/2025 10:17:13] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 131428
[05/Jun/2025 10:17:14] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[05/Jun/2025 10:17:22] "GET /datasets/get_dataset_is_upload/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 36
[05/Jun/2025 10:17:22] "POST /training/create_training_task/ HTTP/1.1" 200 82
[05/Jun/2025 10:17:24] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[05/Jun/2025 10:17:24] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 689
[05/Jun/2025 10:17:24] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 200 153
Not Found: /training/get_curr_epoch_data/
[05/Jun/2025 10:17:24] "GET /training/get_curr_epoch_data/?training_id=14 HTTP/1.1" 404 68
[05/Jun/2025 10:17:26] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 504
[05/Jun/2025 10:17:26] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[05/Jun/2025 10:17:26] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[05/Jun/2025 10:17:26] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 131428
[05/Jun/2025 10:17:26] "GET /datasets/get_dataset/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B HTTP/1.1" 200 290
[05/Jun/2025 10:17:26] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[05/Jun/2025 10:17:27] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[05/Jun/2025 10:17:28] "GET /training/update_training_status/?id=14&status=%E8%AE%AD%E7%BB%83%E4%B8%AD HTTP/1.1" 200 56
[05/Jun/2025 10:17:28] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[05/Jun/2025 10:17:29] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[05/Jun/2025 10:17:29] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 665
[05/Jun/2025 10:17:29] "GET /training/get_curr_epoch_data/?training_id=12 HTTP/1.1" 200 156
Not Found: /training/get_curr_epoch_data/
[05/Jun/2025 10:17:29] "GET /training/get_curr_epoch_data/?training_id=13 HTTP/1.1" 404 68
[05/Jun/2025 10:17:30] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[05/Jun/2025 10:17:30] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 665
[05/Jun/2025 10:17:30] "GET /training/get_curr_epoch_data/?training_id=12 HTTP/1.1" 200 156
Not Found: /training/get_curr_epoch_data/
[05/Jun/2025 10:17:31] "GET /training/get_curr_epoch_data/?training_id=13 HTTP/1.1" 404 68
[05/Jun/2025 10:17:39] "GET /training/get_training_epoch_data?training_id=12 HTTP/1.1" 301 0
[05/Jun/2025 10:17:39] "GET /training/get_training_epoch_data/?training_id=12 HTTP/1.1" 200 2892
[05/Jun/2025 10:17:50] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:17:57] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[05/Jun/2025 10:18:06] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:18:22] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:18:38] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:18:54] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:19:03] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:19:10] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:19:27] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:19:43] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:19:59] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:20:16] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:20:25] "GET /training/update_training_status/?id=14&status=%E8%AE%AD%E7%BB%83%E5%AE%8C%E6%88%90 HTTP/1.1" 200 56
[05/Jun/2025 10:20:46] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:22:27] "POST /training/insert_training_epoch_status/ HTTP/1.1" 200 92
[05/Jun/2025 10:22:40] "GET /training/update_training_status/?id=13&status=%E8%AE%AD%E7%BB%83%E5%AE%8C%E6%88%90 HTTP/1.1" 200 56
[05/Jun/2025 10:24:25] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[05/Jun/2025 10:24:26] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 671
[05/Jun/2025 10:24:26] "GET /training/get_curr_epoch_data/?training_id=12 HTTP/1.1" 200 156
[05/Jun/2025 10:24:26] "GET /training/get_curr_epoch_data/?training_id=13 HTTP/1.1" 200 155
[05/Jun/2025 10:24:28] "GET /datasets/get_project/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 172
[05/Jun/2025 10:24:28] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E6%96%B9%E5%9D%97%E8%AF%86%E5%88%AB HTTP/1.1" 200 671
[05/Jun/2025 10:24:28] "GET /training/get_curr_epoch_data/?training_id=12 HTTP/1.1" 200 156
[05/Jun/2025 10:24:28] "GET /training/get_curr_epoch_data/?training_id=13 HTTP/1.1" 200 155
[05/Jun/2025 10:24:31] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[05/Jun/2025 10:24:31] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[05/Jun/2025 10:24:31] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 695
[05/Jun/2025 10:24:32] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 200 153
[05/Jun/2025 10:24:32] "GET /training/get_curr_epoch_data/?training_id=14 HTTP/1.1" 200 153
[05/Jun/2025 10:24:34] "GET /training/get_training_epoch_data?training_id=14 HTTP/1.1" 301 0
[05/Jun/2025 10:24:34] "GET /training/get_training_epoch_data/?training_id=14 HTTP/1.1" 200 1442
[05/Jun/2025 10:24:37] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[05/Jun/2025 10:24:37] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 695
[05/Jun/2025 10:24:37] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 200 153
[05/Jun/2025 10:24:37] "GET /training/get_curr_epoch_data/?training_id=14 HTTP/1.1" 200 153
[05/Jun/2025 10:24:42] "GET /training/get_training_epoch_data?training_id=8 HTTP/1.1" 301 0
Performing system checks...
System check identified no issues (0 silenced).
June 04, 2025 - 18:25:49
Django version 4.2.17, using settings 'AIproject.settings'
Starting development server at http://0.0.0.0:8097/
Quit the server with CONTROL-C.
Attempting to log in with email: 123456789@163.com and password: 123456
找到用户: admin1
密码验证成功
更新现有的 token
8
12
12
12
Attempting to log in with email: 1169646434@qq.com and password: liuchang630.
找到用户: xiaofeng
密码验证成功
更新现有的 token
ob3CurNw6hwp3gg6UNtUHsPZL166y7iCbcAUm6ocSb0
-qYbCQPYpo3QwfnZ8z2oUQ4H61cmNOyuCq5DMueXHMA
Attempting to log in with email: 123456789@163.com and password: 123456
找到用户: admin1
密码验证成功
更新现有的 token
12
12
13
12
13
8
8
14
12
13
12
13
[{'id': 51, 'epoch_number': 0, 'mAP50': 0.304, 'mAP95': 0.109, 'precision': 0.237, 'recall': 0.624, 'create_time': datetime.datetime(2025, 6, 4, 10, 29, 23, 880046, tzinfo=datetime.timezone.utc)}, {'id': 52, 'epoch_number': 1, 'mAP50': 0.357, 'mAP95': 0.202, 'precision': 0.258, 'recall': 0.932, 'create_time': datetime.datetime(2025, 6, 4, 10, 31, 12, 80114, tzinfo=datetime.timezone.utc)}, {'id': 53, 'epoch_number': 2, 'mAP50': 0.346, 'mAP95': 0.116, 'precision': 0.284, 'recall': 0.994, 'create_time': datetime.datetime(2025, 6, 4, 10, 32, 55, 728030, tzinfo=datetime.timezone.utc)}, {'id': 54, 'epoch_number': 3, 'mAP50': 0.382, 'mAP95': 0.292, 'precision': 0.31, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 4, 10, 34, 36, 608610, tzinfo=datetime.timezone.utc)}, {'id': 55, 'epoch_number': 4, 'mAP50': 0.747, 'mAP95': 0.548, 'precision': 0.328, 'recall': 0.998, 'create_time': datetime.datetime(2025, 6, 4, 10, 36, 18, 121353, tzinfo=datetime.timezone.utc)}, {'id': 56, 'epoch_number': 5, 'mAP50': 0.689, 'mAP95': 0.521, 'precision': 0.568, 'recall': 0.976, 'create_time': datetime.datetime(2025, 6, 4, 10, 37, 58, 736225, tzinfo=datetime.timezone.utc)}, {'id': 57, 'epoch_number': 6, 'mAP50': 0.765, 'mAP95': 0.582, 'precision': 0.637, 'recall': 0.998, 'create_time': datetime.datetime(2025, 6, 4, 10, 39, 38, 799842, tzinfo=datetime.timezone.utc)}, {'id': 58, 'epoch_number': 7, 'mAP50': 0.858, 'mAP95': 0.668, 'precision': 0.626, 'recall': 0.998, 'create_time': datetime.datetime(2025, 6, 4, 10, 41, 19, 89976, tzinfo=datetime.timezone.utc)}, {'id': 59, 'epoch_number': 8, 'mAP50': 0.983, 'mAP95': 0.859, 'precision': 0.794, 'recall': 0.934, 'create_time': datetime.datetime(2025, 6, 4, 10, 43, 0, 283053, tzinfo=datetime.timezone.utc)}, {'id': 60, 'epoch_number': 9, 'mAP50': 0.994, 'mAP95': 0.823, 'precision': 0.799, 'recall': 0.997, 'create_time': datetime.datetime(2025, 6, 4, 10, 44, 41, 713025, tzinfo=datetime.timezone.utc)}, {'id': 61, 'epoch_number': 10, 'mAP50': 0.994, 'mAP95': 0.87, 'precision': 0.819, 'recall': 0.986, 'create_time': datetime.datetime(2025, 6, 4, 10, 46, 23, 400308, tzinfo=datetime.timezone.utc)}, {'id': 62, 'epoch_number': 11, 'mAP50': 0.99, 'mAP95': 0.859, 'precision': 0.789, 'recall': 0.995, 'create_time': datetime.datetime(2025, 6, 4, 10, 48, 4, 938368, tzinfo=datetime.timezone.utc)}, {'id': 63, 'epoch_number': 12, 'mAP50': 0.979, 'mAP95': 0.868, 'precision': 0.777, 'recall': 0.998, 'create_time': datetime.datetime(2025, 6, 4, 10, 49, 46, 244463, tzinfo=datetime.timezone.utc)}, {'id': 64, 'epoch_number': 13, 'mAP50': 0.968, 'mAP95': 0.861, 'precision': 0.77, 'recall': 0.978, 'create_time': datetime.datetime(2025, 6, 4, 10, 51, 25, 892433, tzinfo=datetime.timezone.utc)}, {'id': 65, 'epoch_number': 14, 'mAP50': 0.992, 'mAP95': 0.882, 'precision': 0.949, 'recall': 0.967, 'create_time': datetime.datetime(2025, 6, 4, 10, 53, 7, 405178, tzinfo=datetime.timezone.utc)}, {'id': 66, 'epoch_number': 15, 'mAP50': 0.953, 'mAP95': 0.846, 'precision': 0.773, 'recall': 0.983, 'create_time': datetime.datetime(2025, 6, 4, 10, 54, 50, 243642, tzinfo=datetime.timezone.utc)}, {'id': 67, 'epoch_number': 16, 'mAP50': 0.932, 'mAP95': 0.847, 'precision': 0.772, 'recall': 0.944, 'create_time': datetime.datetime(2025, 6, 4, 10, 56, 31, 817463, tzinfo=datetime.timezone.utc)}, {'id': 68, 'epoch_number': 17, 'mAP50': 0.986, 'mAP95': 0.899, 'precision': 0.911, 'recall': 0.94, 'create_time': datetime.datetime(2025, 6, 4, 10, 58, 13, 65713, tzinfo=datetime.timezone.utc)}, {'id': 69, 'epoch_number': 18, 'mAP50': 0.983, 'mAP95': 0.898, 'precision': 0.817, 'recall': 0.975, 'create_time': datetime.datetime(2025, 6, 4, 10, 59, 54, 801831, tzinfo=datetime.timezone.utc)}, {'id': 70, 'epoch_number': 19, 'mAP50': 0.987, 'mAP95': 0.913, 'precision': 0.913, 'recall': 0.939, 'create_time': datetime.datetime(2025, 6, 4, 11, 1, 36, 615006, tzinfo=datetime.timezone.utc)}]
12
13
12
13
8
14
[{'id': 71, 'epoch_number': 0, 'mAP50': 0.143, 'mAP95': 0.038, 'precision': 0.096, 'recall': 0.773, 'create_time': datetime.datetime(2025, 6, 5, 2, 17, 50, 681304, tzinfo=datetime.timezone.utc)}, {'id': 72, 'epoch_number': 1, 'mAP50': 0.772, 'mAP95': 0.371, 'precision': 0.647, 'recall': 0.88, 'create_time': datetime.datetime(2025, 6, 5, 2, 18, 6, 600990, tzinfo=datetime.timezone.utc)}, {'id': 73, 'epoch_number': 2, 'mAP50': 0.864, 'mAP95': 0.263, 'precision': 0.755, 'recall': 0.92, 'create_time': datetime.datetime(2025, 6, 5, 2, 18, 22, 519914, tzinfo=datetime.timezone.utc)}, {'id': 74, 'epoch_number': 3, 'mAP50': 0.683, 'mAP95': 0.335, 'precision': 0.617, 'recall': 0.91, 'create_time': datetime.datetime(2025, 6, 5, 2, 18, 38, 197233, tzinfo=datetime.timezone.utc)}, {'id': 75, 'epoch_number': 4, 'mAP50': 0.995, 'mAP95': 0.722, 'precision': 0.998, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 5, 2, 18, 54, 507407, tzinfo=datetime.timezone.utc)}, {'id': 77, 'epoch_number': 5, 'mAP50': 0.995, 'mAP95': 0.603, 'precision': 0.999, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 5, 2, 19, 10, 828842, tzinfo=datetime.timezone.utc)}, {'id': 78, 'epoch_number': 6, 'mAP50': 0.995, 'mAP95': 0.694, 'precision': 0.999, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 5, 2, 19, 27, 2509, tzinfo=datetime.timezone.utc)}, {'id': 79, 'epoch_number': 7, 'mAP50': 0.995, 'mAP95': 0.761, 'precision': 0.999, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 5, 2, 19, 43, 198824, tzinfo=datetime.timezone.utc)}, {'id': 80, 'epoch_number': 8, 'mAP50': 0.995, 'mAP95': 0.682, 'precision': 1.0, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 5, 2, 19, 59, 895473, tzinfo=datetime.timezone.utc)}, {'id': 81, 'epoch_number': 9, 'mAP50': 0.995, 'mAP95': 0.777, 'precision': 0.999, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 5, 2, 20, 16, 333118, tzinfo=datetime.timezone.utc)}]
8
14
[{'id': 38, 'epoch_number': 0, 'mAP50': 0.143, 'mAP95': 0.038, 'precision': 0.096, 'recall': 0.773, 'create_time': datetime.datetime(2025, 6, 4, 3, 37, 5, 779548, tzinfo=datetime.timezone.utc)}, {'id': 39, 'epoch_number': 1, 'mAP50': 0.772, 'mAP95': 0.371, 'precision': 0.647, 'recall': 0.88, 'create_time': datetime.datetime(2025, 6, 4, 3, 37, 25, 46486, tzinfo=datetime.timezone.utc)}, {'id': 40, 'epoch_number': 2, 'mAP50': 0.864, 'mAP95': 0.263, 'precision': 0.755, 'recall': 0.92, 'create_time': datetime.datetime(2025, 6, 4, 3, 37, 42, 89217, tzinfo=datetime.timezone.utc)}, {'id': 41, 'epoch_number': 3, 'mAP50': 0.683, 'mAP95': 0.335, 'precision': 0.617, 'recall': 0.91, 'create_time': datetime.datetime(2025, 6, 4, 3, 37, 59, 843929, tzinfo=datetime.timezone.utc)}, {'id': 42, 'epoch_number': 4, 'mAP50': 0.995, 'mAP95': 0.722, 'precision': 0.998, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 4, 3, 38, 16, 654520, tzinfo=datetime.timezone.utc)}, {'id': 43, 'epoch_number': 5, 'mAP50': 0.995, 'mAP95': 0.603, 'precision': 0.999, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 4, 3, 38, 33, 529089, tzinfo=datetime.timezone.utc)}, {'id': 44, 'epoch_number': 6, 'mAP50': 0.995, 'mAP95': 0.694, 'precision': 0.999, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 4, 3, 38, 49, 191243, tzinfo=datetime.timezone.utc)}, {'id': 45, 'epoch_number': 7, 'mAP50': 0.995, 'mAP95': 0.761, 'precision': 0.999, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 4, 3, 39, 6, 266229, tzinfo=datetime.timezone.utc)}, {'id': 46, 'epoch_number': 8, 'mAP50': 0.995, 'mAP95': 0.682, 'precision': 1.0, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 4, 3, 39, 23, 937463, tzinfo=datetime.timezone.utc)}, {'id': 47, 'epoch_number': 9, 'mAP50': 0.995, 'mAP95': 0.777, 'precision': 0.999, 'recall': 1.0, 'create_time': datetime.datetime(2025, 6, 4, 3, 39, 41, 541028, tzinfo=datetime.timezone.utc)}][05/Jun/2025 10:24:42] "GET /training/get_training_epoch_data/?training_id=8 HTTP/1.1" 200 1442
[05/Jun/2025 10:24:44] "GET /datasets/get_project/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 184
[05/Jun/2025 10:24:44] "GET /training/get_project_training_tasks/?user=admin1&projectName=%E7%BA%A2%E8%89%B2%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 695
[05/Jun/2025 10:24:44] "GET /training/get_curr_epoch_data/?training_id=8 HTTP/1.1" 200 153
[05/Jun/2025 10:24:44] "GET /training/get_curr_epoch_data/?training_id=14 HTTP/1.1" 200 153
[05/Jun/2025 10:24:46] "GET /datasets/get_user_datasets/?user=admin1 HTTP/1.1" 200 504
[05/Jun/2025 10:24:46] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[05/Jun/2025 10:24:46] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B HTTP/1.1" 200 69
[05/Jun/2025 10:24:46] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E5%81%87%E4%BA%BA%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 131428
[05/Jun/2025 10:24:46] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[05/Jun/2025 10:24:48] "GET /datasets/get_dataset/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B HTTP/1.1" 200 290
[05/Jun/2025 10:24:49] "GET /datasets/get_minio_links/?user=admin1&datasetName=%E6%96%B9%E5%9D%97%E6%A3%80%E6%B5%8B&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 394073
[05/Jun/2025 10:24:51] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[05/Jun/2025 13:22:05] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[05/Jun/2025 13:22:08] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[05/Jun/2025 13:22:31] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
[05/Jun/2025 15:52:34] "GET /datasets/get_user_datasets/?user=J HTTP/1.1" 200 448
[05/Jun/2025 15:52:35] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=J HTTP/1.1" 200 69
[05/Jun/2025 15:52:35] "GET /datasets/get_dataset_is_upload/?user=lzz&datasetName=L HTTP/1.1" 200 69
[05/Jun/2025 15:52:35] "GET /datasets/get_minio_links/?user=J&datasetName=J&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 103428
[05/Jun/2025 15:52:35] "GET /datasets/get_minio_links/?user=J&datasetName=L&nextImage=&taskType=Detection&pageSize=60 HTTP/1.1" 200 291873
[05/Jun/2025 17:05:27] "OPTIONS /accounts/get_user_info HTTP/1.1" 200 0
[05/Jun/2025 17:05:27] "OPTIONS /accounts/get_user_info/ HTTP/1.1" 200 0
Unauthorized: /accounts/get_user_info/
[05/Jun/2025 17:05:27] "GET /accounts/get_user_info/ HTTP/1.1" 401 45
[05/Jun/2025 17:06:13] "OPTIONS /accounts/login/ HTTP/1.1" 200 0
[05/Jun/2025 17:06:13] "POST /accounts/login/ HTTP/1.1" 200 143
[05/Jun/2025 17:06:13] "GET /datasets/get_user_projects/?user=admin1 HTTP/1.1" 200 314
/home/ooin/ooin_training/TrainingPlatform_Django/datasets/models.py changed, reloading.
8
14
KqACBksU9gf0NklKTcF9lYl_mg0LuKmpotM9a9_UCgo
Attempting to log in with email: 123456789@163.com and password: 123456
找到用户: admin1
密码验证成功
更新现有的 token
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/django/utils/autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/django/core/management/commands/runserver.py", line 133, in inner_run
self.check(display_num_errors=True)
File "/home/ooin/anaconda3/envs/lzz_aidjango/lib/python3.11/site-packages/django/core/management/base.py", line 556, in check
raise SystemCheckError(msg)
django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
ERRORS:
datasets.CreatorProfile.avatar: (fields.E210) Cannot use ImageField because Pillow is not installed.
HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "python -m pip install Pillow".
System check identified 1 issue (0 silenced).

View File

@ -1 +1,3 @@
FLASK_API = 'http:/81.69.223.133:58096' FLASK_API = 'http://81.69.223.133:58096'