Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

434
Visualizações
¿Hay alguna manera de envolver cada entrada de un numpy.ndarray en una matriz separada?

Estoy enfrentando algunos problemas para obtener una matriz en la forma correcta para usarla como entrada en una red neuronal convolucional:

Mi matriz tiene la forma (100,64,64) , pero necesitaría que fuera (100,64,64,1) . Me doy cuenta de que se ve un poco extraño, pero básicamente quiero empaquetar cada entrada en una matriz separada.

Un ejemplo simplificado, con una matriz 2D, donde el análogo sería de (3,3) a (3,3,1) :

 [[0,1,0], [[[0],[1],[0]], [1,1,1], [[1],[1],[1]], [0,0,1]] [[0],[0],[1]]]

¿Hay una manera conveniente de hacer esto usando numpy?

Intenté usar la función numpy.reshape : con la que sé, cómo "agregar" otra matriz que envuelve la original.

 import numpy as np data = data.reshape((1,)+data.shape)

Esto da la salida para data.shape : (1,100,64,64) . ¿Hay alguna manera de agregar una dimensión en el "extremo interno"?

Si pruebo data.reshape(data.shape+(,1)) , obtengo un error de sintaxis no válida.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Como señalan los documentos , cuando las formas son compatibles como las suyas, también puede cambiar directamente la forma de la matriz:

 a = np.array([ [0, 1, 0], [1, 1, 1], [0, 0, 1] ]) a.shape += (1,) a # array([[[0], [1], [0]], # [[1], [1], [1]], # [[0], [0], [1]]])
over 4 years ago · Santiago Trujillo Relatório

0

Puedes remodelar usando:

 a[:,:,None]

O, programáticamente (funciona para cualquier número de dimensiones):

 a.reshape((*a.shape,1))

ejemplo

 a = np.array([[0,1,0], [1,1,1], [0,0,1]]) # array([[0, 1, 0], # [1, 1, 1], # [0, 0, 1]]) a[:,:,None] # or a.reshape((*a.shape,1)) # array([[[0], [1], [0]], # [[1], [1], [1]], # [[0], [0], [1]]])
over 4 years ago · Santiago Trujillo Relatório

0

Puede pasar puntos suspensivos más None al indexador de matrices:

 >>> a array([[0, 1, 0], [1, 1, 1], [0, 0, 1]]) >>> a[..., None] array([[[0], [1], [0]], [[1], [1], [1]], [[0], [0], [1]]])

(Crédito a @hpaulj )

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda