vault backup: 2025-03-04 11:17:00

This commit is contained in:
2025-03-04 11:17:00 +08:00
parent d1e51bfd2f
commit ff12c4f4ca
161 changed files with 1 additions and 2 deletions

View File

@@ -0,0 +1,37 @@
如果想用同時打亂x_train與y_train可以參考這2個方法。
## 1. 用 `tf.random.shuffle`
```python
indices = tf.range(start=0, limit=tf.shape(x_data)[0], dtype=tf.int32)
idx = tf.random.shuffle(indices)
x_data = tf.gather(x_data, idx)
y_data = tf.gather(y_data, idx)
```
先建立一個跟array一樣大的list然後打亂它再用這個已打亂的list當作索引來建立一個新的data list。
## 2. 用 `Dataset.shuffle`
^832c8c
```python
x_train = tf.data.Dataset.from_tensor_slices(x)
y_train = tf.data.Dataset.from_tensor_slices(y)
x_train, y_train = x_train.shuffle(buffer_size=2, seed=2), y_train.shuffle(buffer_size=2, seed=2)
dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))
```
或者
```python
BF = 2
SEED = 2
def shuffling(dataset, bf, seed_number):
return dataset.shuffle(buffer_size=bf, seed=seed_number)
x_train, y_train = shuffling(x_train, BF, SEED), shuffling(y_train, BF, SEED)
dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))
```
概念跟第一點是一樣的,但是這是先轉成 `tf.data.Dataset`然後把x_train跟y_train都用同樣的seed打亂。