You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Untitled.ipynb 23KB

3 months ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "code",
  5. "execution_count": 1,
  6. "id": "ab3de9ac-742b-4e14-a59e-4aaac49973de",
  7. "metadata": {
  8. "tags": []
  9. },
  10. "outputs": [],
  11. "source": [
  12. "from transformers import T5Model\n",
  13. "import numpy as np\n",
  14. "from sklearn.decomposition import PCA\n",
  15. "from tqdm.notebook import tqdm"
  16. ]
  17. },
  18. {
  19. "cell_type": "code",
  20. "execution_count": 2,
  21. "id": "6801369d-4153-4674-a558-f4237d52fddc",
  22. "metadata": {
  23. "tags": []
  24. },
  25. "outputs": [],
  26. "source": [
  27. "model = T5Model.from_pretrained('google/t5-large-lm-adapt')"
  28. ]
  29. },
  30. {
  31. "cell_type": "code",
  32. "execution_count": 3,
  33. "id": "bfe07ee9-aed8-47cd-8950-62e2c9f0026a",
  34. "metadata": {
  35. "tags": []
  36. },
  37. "outputs": [],
  38. "source": [
  39. "weitghts = model.get_encoder().get_input_embeddings().weight.detach().clone().numpy()"
  40. ]
  41. },
  42. {
  43. "cell_type": "code",
  44. "execution_count": 4,
  45. "id": "f686d3fe-a427-45d1-83f5-5bbab7251800",
  46. "metadata": {
  47. "tags": []
  48. },
  49. "outputs": [
  50. {
  51. "data": {
  52. "application/vnd.jupyter.widget-view+json": {
  53. "model_id": "1344e2e9d9744feeaee9cbf5ac1c0054",
  54. "version_major": 2,
  55. "version_minor": 0
  56. },
  57. "text/plain": [
  58. " 0%| | 0/63 [00:00<?, ?it/s]"
  59. ]
  60. },
  61. "metadata": {},
  62. "output_type": "display_data"
  63. }
  64. ],
  65. "source": [
  66. "def calc_loss(n_components, X):\n",
  67. " pca = PCA(n_components=n_components)\n",
  68. " pca.fit(X)\n",
  69. " reduced = pca.transform(X)\n",
  70. " reconstruct = np.dot(reduced, pca.components_) + pca.mean_\n",
  71. " loss = ((reconstruct - X) ** 2).mean()\n",
  72. " return loss\n",
  73. "\n",
  74. "x = []\n",
  75. "y = []\n",
  76. "for n_components in tqdm(range(16, 1024, 16)):\n",
  77. " x.append(n_components)\n",
  78. " y.append(calc_loss(n_components, weitghts))"
  79. ]
  80. },
  81. {
  82. "cell_type": "code",
  83. "execution_count": 6,
  84. "id": "d1df28d1-b26c-4064-90c5-c2bcb080484a",
  85. "metadata": {
  86. "tags": []
  87. },
  88. "outputs": [
  89. {
  90. "data": {
  91. "text/plain": [
  92. "[<matplotlib.lines.Line2D at 0x7f1ee440ae60>]"
  93. ]
  94. },
  95. "execution_count": 6,
  96. "metadata": {},
  97. "output_type": "execute_result"
  98. },
  99. {
  100. "data": {
  101. "image/png": "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",
  102. "text/plain": [
  103. "<Figure size 640x480 with 1 Axes>"
  104. ]
  105. },
  106. "metadata": {},
  107. "output_type": "display_data"
  108. }
  109. ],
  110. "source": [
  111. "import matplotlib.pyplot as plt\n",
  112. "\n",
  113. "plt.plot(x, np.sqrt(y))"
  114. ]
  115. },
  116. {
  117. "cell_type": "code",
  118. "execution_count": null,
  119. "id": "712f8c9b-ad73-4811-941d-aeee49257e2d",
  120. "metadata": {},
  121. "outputs": [],
  122. "source": []
  123. }
  124. ],
  125. "metadata": {
  126. "kernelspec": {
  127. "display_name": "Python [conda env:deep]",
  128. "language": "python",
  129. "name": "conda-env-deep-py"
  130. },
  131. "language_info": {
  132. "codemirror_mode": {
  133. "name": "ipython",
  134. "version": 3
  135. },
  136. "file_extension": ".py",
  137. "mimetype": "text/x-python",
  138. "name": "python",
  139. "nbconvert_exporter": "python",
  140. "pygments_lexer": "ipython3",
  141. "version": "3.10.11"
  142. }
  143. },
  144. "nbformat": 4,
  145. "nbformat_minor": 5
  146. }