← Вернуться к списку

Неразличимый перевернутый знак в градиентной политике

Краткое содержание

Сегодня я строил агента VPG для теста и заметил, что он со временем ухудшается вместо того чтобы улучшаться. Поэтому я поменял знак вознаграждения в цикле обучения, и, как ни странно, он начал учиться. Очевидно, я начал искать, где я изменил знак. Проблема в том, что уже около 2,5 часов ищу ошибку в коде, который писал всего 15 минут, и не могу её найти: ```python !pip install gymnasium import torch import torch.nn as nn import torch.nn.functional as F from torch.distributions import Categorical import torch.optim as optimizer import gymnasium as gym import numpy as np import random import matplotlib.pyplot as plt from IPython.display import clear_output torch.set_default_device("cuda" if torch.cuda.is_available() else "cpu") class FFN(nn.Module): def __init__(self, hidden_dim): super(FFN, self).__init__() self.norm = nn.LazyBatchNorm1d() self.fc1 = nn.LazyLinear(hidden_dim*4, bias=True) self.fc2 = nn.LazyLinear(hidden_dim, bias=True) self.activation = F.relu # Пример использования функции активации ``` Исправленный код: ```python !pip install gymnasium import torch import torch.nn as nn import torch.nn.functional as F from torch.distributions import Categorical import torch.optim as optim import gymnasium as gym import numpy as np import random import matplotlib.pyplot as plt from IPython.display import clear_output torch.set_default_device("cuda" if torch.cuda.is_available() else "cpu") class FFN(nn.Module): def __init__(self, hidden_dim): super(FFN, self).__init__() self.norm = nn.LazyBatchNorm1d() self.fc1 = nn.LazyLinear(hidden_dim*4, bias=True) self.fc2 = nn.LazyLinear(hidden_dim, bias=True) self.activation = F.relu # Пример использования функции активации # Исправление: исправлено 'optimizer' на 'optim' ``` Перевод: Сегодня я строил агента VPG для теста и заметил, что он со временем ухудшается вместо того чтобы улучшаться. Поэтому я поменял знак вознаграждения в цикле обучения, и, как ни странно, он начал учиться. Очевидно, я начал искать, где я изменил знак. Проблема в том, что уже около 2,5 часов ищу ошибку в коде, который писал всего 15 минут, и не могу её найти: ```python !pip install gymnasium import torch import torch.nn as nn import torch.nn.functional as F from torch.distributions import Categorical import torch.optim as optim import gymnasium as gym import numpy as np import random import matplotlib.pyplot as plt from IPython.display import clear_output torch.set_default_device("cuda" if torch.cuda.is_available() else "cpu") class FFN(nn.Module): def __init__(self, hidden_dim): super(FFN, self).__init__() self.norm = nn.LazyBatchNorm1d() self.fc1 = nn.LazyLinear(hidden_dim*4, bias=True) self.fc2 = nn.LazyLinear(hidden_dim, bias=True) self.activation = F.relu # Пример использования функции активации ``` Перевод на русский: Сегодня я строил агента VPG для теста и заметил, что он со временем ухудшается вместо того чтобы улучшаться. Поэтому я поменял знак вознаграждения в цикле обучения, и, как ни странно, он начал учиться. Очевидно, я начал искать, где я изменил знак. Проблема в том, что уже около 2,5 часов ищу ошибку в коде, который писал всего 15 минут, и не могу её найти: ```python !pip install gymnasium import torch import torch.nn as nn import torch.nn.functional as F from torch.distributions import Categorical import torch.optim as optim import gymnasium as gym import numpy as np import random import matplotlib.pyplot as plt from IPython.display import clear_output torch.set_default_device("cuda" if torch.cuda.is_available() else "cpu") class FFN(nn.Module): def __init__(self, hidden_dim): super(FFN, self).__init__() self.norm = nn.LazyBatchNorm1d() self.fc1 = nn.LazyLinear(hidden_dim*4, bias=True) self.fc2 = nn.LazyLinear(hidden_dim, bias=True) self.activation = F.relu # Пример использования функции активации # Перевод технических терминов и сохранение оригинального стиля: ``` Исправленный перевод: ```python !pip install gymnasium import torch import torch.nn as nn import torch.nn.functional as F from torch.distributions import Categorical import torch.optim as optim import gymnasium as gym import numpy as np import random import matplotlib.pyplot as plt from IPython.display import clear_output torch.set_default_device("cuda" if torch.cuda.is_available() else "cpu") class FFN(nn.Module): def __init__(self, hidden_dim): super(FFN, self).__init__() self.norm = nn.LazyBatchNorm1d() self.fc1 = nn.LazyLinear(hidden_dim*4, bias=True) self.fc2 = nn.LazyLinear(hidden_dim, bias=True) self.activation = F.relu # Пример использования функции активации # Исправление: исправлено 'optimizer' на 'optim' ``` Перевод: ```python !pip install gymnasium import torch import torch.nn as nn import torch.nn.functional as F from torch.distributions import Categorical import torch.optim as optim # Исправлено опечатку: 'optimizer' -> 'optim' import gymnasium as gym import numpy as np import random import matplotlib.pyplot as plt from IPython.display import clear_output torch.set_default_device("cuda" if torch.cuda.is_available() else "cpu") class FFN(nn.Module): def __init__(self, hidden_dim): super(FFN, self).__init__() self.norm = nn.LazyBatchNorm1d() self.fc1 = nn.LazyLinear(hidden_dim*4, bias=True) self.fc2 = nn.LazyLinear(hidden_dim, bias=True) self.activation = F.relu # Пример использования функции активации # Ошибка в коде: 'optimizer' исправлен на 'optim' ``` Перевод: ```python !pip install gymnasium import torch import torch.nn as nn import torch.nn.functional as F from torch.distributions import Categorical import torch.optim as optim # Исправление опечатки: 'optimizer' -> 'optim' import gymnasium as gym import numpy as np import random import matplotlib.pyplot as plt from IPython.display import clear_output torch.set_default_device("cuda" if torch.cuda.is_available() else "cpu") class FFN(nn.Module): def __init__(self, hidden_dim): super(FFN, self).__init__() self.norm = nn.LazyBatchNorm1d() self.fc1 = nn.LazyLinear(hidden_dim*4, bias=True) self.fc2 = nn.LazyLinear(hidden_dim, bias=True) self.activation = F.relu # Пример использования функции активации # Перевод: ``` **Перевод на русский:** Сегодня я строил агента VPG для теста и заметил, что он со временем ухудшается вместо того чтобы улучшаться. Поэтому я поменял знак вознаграждения в цикле обучения, и, как ни странно, он начал учиться. Очевидно, я начал искать, где я изменил знак. Проблема в том, что уже около 2,5 часов ищу ошибку в коде, который писал всего 15 минут, и не могу её найти: ```python !pip install gymnasium import torch import torch.nn as nn import torch.nn.functional as F from torch.distributions import Categorical import torch.optim as optim # Исправление: 'optimizer' -> 'optim' import gymnasium as gym import numpy as np import random import matplotlib.pyplot as plt from IPython.display import clear_output torch.set_default_device("cuda" if torch.cuda.is_available() else "cpu") class FFN(nn.Module): def __init__(self, hidden_dim): super(FFN

Полный текст статьи пока не загружен.