Приводит ли runtimewarning: переполнение в add к ошибке ValueError: math domain? - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть небольшой фрагмент кода, где я беру набор из 24 углов, а затем использую NN, чтобы предсказать следующий набор из 24 углов.перед передачей ввода в NN я обрабатываю ввод с использованием сложной математической функции, включающей cos, sin, умножения и сложение.При попытке запустить симуляцию через определенное время, например, через 40 минут, я сталкиваюсь с этим RuntimeWarning: overflow encountered in add, что затем приводит к ValueError: math domain error

У меня изначально, хотя ошибка математической области может возникать из-за углов, которые могутбыть поданным, поскольку cos может быть вне пределов и, таким образом, переназначить эти углы в диапазоне cos, и ошибка по-прежнему сохраняется.Я использую NumPy и TensorFlow для обработки.

term_1_1 = (self.m_l*9.8*self.velocity*(self.r_1*math.sin(self.j_angles[0])+2*self.l_1*math.sin(self.j_angles[0])+self.r_1*math.sin(self.j_angles[0]+self.j_angles[1])+self.r_1*math.sin(self.j_angles[0]+self.j_angles[1]+self.j_angles[2]))+self.m_l*9.8*self.velocity*(self.r_1*math.sin(self.j_angles[0]+self.j_angles[1])+self.l_1*math.sin(self.j_angles[1])+self.r_1*math.sin(self.j_angles[0]+self.j_angles[1]+self.j_angles[2]))+self.m_l*9.8*self.velocity*(self.r_1*math.sin(self.j_angles[0]+self.j_angles[1]+self.j_angles[2])))

Может ли кто-нибудь помочь мне, указав, что именно является причиной этого переполнения и ошибки.Все числовые массивы dtype float64, такие же, как переменные тензорного потока и другие заполнители.j_angles - это простой инициализированный массив из 24 элементов, за которым следует вывод подписчика ROS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...