Skip to content

результаты лабораторных работ #9

Open
AlKurpiakov wants to merge 2 commits into
valentina-kustikova:mainfrom
AlKurpiakov:main
Open

результаты лабораторных работ #9
AlKurpiakov wants to merge 2 commits into
valentina-kustikova:mainfrom
AlKurpiakov:main

Conversation

@AlKurpiakov
Copy link
Copy Markdown

No description provided.

	new file:   KurpiakovAG/lab1/backprop.ipynb
	new file:   KurpiakovAG/lab1/backprop.py
	new file:   KurpiakovAG/lab2/convnet.ipynb
	new file:   KurpiakovAG/lab3/transfer_lerning.ipynb
"\n",
" pred = output.argmax(dim=1)\n",
" accuracy = (pred == label).float().mean()\n",
" avg_accuracy.append(accuracy.item())\n",
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Этот кусок кода дублируется с блоком в строках 274-285. По смыслу это отдельная функция. Но сейчас есть пакет torch.metrics, с помощью которого можно вычислять все метрики качества.

" test_loss += loss.item()\n",
" _, predicted = torch.max(outputs.data, 1)\n",
" total += labels.size(0)\n",
" correct += (predicted == labels).sum().item()\n",
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Аналогичный комментарий касательно вычисления метрики.

" optimizer.step()\n",
"\n",
" loss_list.append(loss.item())\n",
" accuracy_list.append(torch.mean((torch.argmax(main_output, dim=1) == label).float()).item())\n",
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Для вычисления метрики качества надо использовать пакет torch.metrics

"\n",
" outputs = model.forward(images)\n",
"\n",
" score_list.append(torch.tensor(f1_score(torch.argmax(outputs, dim = 1).cpu(), labels.cpu(), average = 'macro')))\n",
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Для вычисления метрики качества надо использовать пакет torch.metrics

{
"cell_type": "code",
"source": [
"def GoogLeNet(num_classes=10, transfer=True):\n",
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

На самом деле здесь только 2 типа экспериментов, но может быть еще тритий, когда модель обучается от начальных значений весов, полученных при обучении на наборе данных ImageNet

"name": "stdout",
"text": [
"Epoch: 1/20 \n",
"smth\n",
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вот это похоже на отладочную строку, которая была удалена, но повторный запуск кода не производился, т.е. код не соответствует выводу. Надо сделать перезапуск, чтобы не было расхождений.

"plt.figure(figsize=(12, 6))\n",
"bars = plt.bar(name_models, test, color = 'darkblue', edgecolor = 'black')\n",
"plt.xlabel(\"Конфигурации моделей\", fontsize = 14)\n",
"plt.ylabel(\"Значения\", fontsize = 14)\n",
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Точность классификации, а не просто значения. Когда вы подписываете ось, то текст должен буквально отражать то, что показано.

" return model\n",
"\n",
"def ResNet(num_classes = 10, transfer = True):\n",
" if transfer:\n",
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Аналогичный комментарий касательно третьего эксперимента.

"\n",
"plt.figure(figsize=(12, 6))\n",
"bars = plt.bar(name_models, test, color = 'darkblue', edgecolor = 'black')\n",
"plt.xlabel(\"Конфигурации моделей\", fontsize = 14)\n",
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Просто "Модели"

" 'ResNet-50 random',\n",
" 'ResNet-50 transfer',\n",
" 'VGG-16 random',\n",
" 'VGG-16 transfer',\n",
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Подписи должны быть понятны читателю, сейчас это что-то понятное только тому, кто писал код :) Надо переименовать.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants