Prenez une note à partir de zéro pour ne pas oublier ce que vous avez compris après avoir lu Deep Learning 2. Par exemple
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
S'il y avait Quand a = b Si a [...] = b, le résultat de a est le même, Elle s'appelle ** "copie superficielle" ** et ** "copie profonde" **, et la façon dont elles sont copiées est différente. Dans ** copie superficielle **, lorsque l'on considère la mémoire, si a = b, a pointe vers la même position que la mémoire de b, de sorte que a montre la même valeur que b. Autrement dit, a et b pointent vers la même position. En comparaison, dans ** deep copy **, le nombre [1, 2, 3] dans la position mémoire vers laquelle a pointé à l'origine Remplacer par [4, 5, 6]. Je pense que c'est une substitution qui est généralement imaginée.
Alors, quelle est la différence entre eux? Lorsque ** copie superficielle **, a et b pointent vers le même emplacement mémoire, donc si vous changez la valeur de l'un ou l'autre, la valeur de l'autre changera en conséquence. D'un autre côté, ** deep copy ** ne fonctionne pas ensemble car ils pointent vers des emplacements mémoire différents.
Recommended Posts