Qual é a diferença entre fit()
e fit_generator()
em Keras?
Quando devo usar fit()
vs fit_generator()
?
Qual é a diferença entre fit()
e fit_generator()
em Keras?
Quando devo usar fit()
vs fit_generator()
?
Respostas:
Em keras, fit()
é muito semelhante ao método de ajuste do sklearn, em que você passa a matriz de recursos como valores x e o destino como valores y. Você passa todo o conjunto de dados de uma vez no método de ajuste. Além disso, use-o se você puder carregar dados inteiros na memória (pequeno conjunto de dados).
Em fit_generator()
, você não passa os xey diretamente, ao contrário, eles vêm de um gerador . Como está escrito na documentação do keras , o gerador é usado quando você deseja evitar dados duplicados ao usar o multiprocessamento. Isso é para fins práticos, quando você tem um conjunto de dados grande.
Aqui está um link para entender mais sobre isso -
Para referência, consulte este livro - https://github.com/hktxt/bookshelf/blob/master/Computer%20Science/Deep%20Learning%20with%20Python%2C%20Fran%C3%A7ois%20Chollet.pdf
Há mais na diferença entre Keras fit
e do fit.generator
que aparenta . Eu tinha um conjunto de dados que foi perfeitamente aprendido pelo modelo usando fit.generator
. Como o conjunto de dados não era muito grande, decidi mudar parafit
vez de fit.generator
. Para minha surpresa, a curva de aprendizado estava por todo o lado. Tinha que começar a sintonizar do zero. Acho que a maneira como os gradientes são atualizados em cada função difere bastante. Cuidado.