Я не понимаю, почему я получаю ошибку отступа в строке для c в диапазоне (0, num_labels): Я использую python 3.6 и scipy. код выглядит следующим образом:
from lrcostfunction import lrcostfunction
from gradient import gradient
import numpy as np
from scipy import optimize
def onevsall(X,y,num_labels):
m = np.size(X,0)
n = np.size(X,1)
all_theta = np.zeros((num_labels,n+1))
X = np.insert(X,0,1,axis = 1)
for c in range(0, num_labels):
initial_theta = np.zeros((n+1,))
theta =
optimize.fmin_cg(lrcostfunction,initial_theta,fprime=gradient, args =
args)
np.insert(all_theta,c,theta,axis = 0)
return all_theta
Также опубликуйте полную трассировку стека, если возможно
Вы, вероятно, смешиваете пробелы и табуляции





Это очень наивная ошибка, но очень неприятная, если вы не знаете. Я потратил много часов, наконец, нашел ее. Просто - Не считайте табуляцию равной ярлыку для 4 или 8 пробелов!. Табуляторы и пробелы обрабатываются как разные символы, как + и -. Если вы хотите использовать пробелы, используйте пробел, в противном случае используйте табуляцию.
Как я уже сказал, Python 3 выдает ошибку TabError, если вы смешиваете табуляции и пробелы.
Этот код не должен приводить к ошибке отступа, но
theta =является синтаксической ошибкой. Не забудьте вставить свой код точно по мере его выполнения. Я бы сказал "проверьте вкладки!" но Python 3 выдаст другое сообщение об ошибке.