Flag for np.tile to use as_strided to reduce memory
Hi, Having read that it is possible to basically 'copy' elements along an axis without actually copying the values by making use of the strides, I wonder whether it is possible to add this as an option to np.tile. It would be easier than having to use as_strided or broadcast_arrays to repeat data without actually replicating it. http://stackoverflow.com/questions/23695851/python-repeating-numpy-array-wit... https://scipy-lectures.github.io/advanced/advanced_numpy/#example-fake-dimen... Frederik
On Fr, 2015-06-19 at 10:06 +0200, Freddy Rietdijk wrote:
Hi,
Having read that it is possible to basically 'copy' elements along an axis without actually copying the values by making use of the strides, I wonder whether it is possible to add this as an option to np.tile.
No, what tile does cannot be represented that way. If it was possible you can achieve the same using `np.broadcast_to` basically, which was just added though. There are some other things you can do, like rolling window (adding dimensions), maybe some day we should add that (or you want to take a shot ;)). - Sebastian
It would be easier than having to use as_strided or broadcast_arrays to repeat data without actually replicating it.
http://stackoverflow.com/questions/23695851/python-repeating-numpy-array-wit...
https://scipy-lectures.github.io/advanced/advanced_numpy/#example-fake-dimen...
Frederik _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
On Fri, Jun 19, 2015 at 10:39 AM, Sebastian Berg <sebastian@sipsolutions.net
wrote:
No, what tile does cannot be represented that way. If it was possible you can achieve the same using `np.broadcast_to` basically, which was just added though. There are some other things you can do, like rolling window (adding dimensions), maybe some day we should add that (or you want to take a shot ;)).
- Sebastian
The one case where np.tile could be done using stride tricks is if the dimension you want to repeat has size 1 or currently does not exist. np.broadcast_to was an attempt to make this stuff less awkward, though it still requries mixing in transposes.
participants (3)
-
Freddy Rietdijk
-
Sebastian Berg
-
Stephan Hoyer