js清空数组的四中方法!

方法一:直接赋予空数组:[ ]

let newArray = new Array("香蕉","苹果","梨")
	console.log(newArray)
	newArray = []
	console.log("newArray",newArray);

打印结果:
在这里插入图片描述@这种方法并不是严格意义上的清空数组,只是将newArray 重新赋值为空数组[ ],改变了指针地址,重新开辟了一个地址!

方法二:利用length 属性将数组的长度设置为0,不改变指针地址。
length属性可以设置数组长度或者返回数组的长度,如果length小于数组的长度,那么数组后边的元素将会被截断,当length为0时,数组将会被清空!

let newArray = new Array("香蕉","苹果","梨")
	console.log(newArray)
    newArray.length = 0
    console.log("newArray",newArray)

打印结果:
在这里插入图片描述

方法三:splice() 方法删除数组元素
使用splice()方法可以删除指定下标位置后一个或多个数组元素。只需要指定splice()方法从第一个数组元素开始,需要删除元素的个数为arr.length即可清空数组。

let newArray = new Array("香蕉","苹果","梨")
    console.log(newArray)
    newArray.splice(0,newArray.length)
    console.log("newArray",newArray)

打印结果:
在这里插入图片描述

方法四:使用delete运算符
使用delete 可以删除数组中指定下边的元素,删除后的数组长度不变,删除元素之后变成空位元素,打印此位置的元素为:undefind

let newArray = new Array("香蕉","苹果","梨")
    console.log(newArray)
    for(var i=0; i<=newArray.length; i++){
        delete newArray[i]
    }
    console.log("newArray:",newArray)
    console.log("newArray.length:",newArray.length);
    console.log("newArray[0]:",newArray[0]);

打印结果:
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Python 3.7中嵌入GPT-2并进行训练,您需要遵循以下步骤: 1. 安装必要的库 您需要安装以下库:tensorflow,numpy,tqdm,regex等。您可以使用pip install命令来安装它们。 2. 下载GPT-2模型权重 您需要下载GPT-2模型的权重。您可以从OpenAI官方网站上下载它们。下载完成后,您需要将它们放入您的项目文件夹中。 3. 加载GPT-2模型 接下来,您需要加载GPT-2模型。您可以使用TensorFlow的SavedModel API来加载模型。 ```python import tensorflow as tf model_dir = "path/to/gpt2/model" model = tf.saved_model.load(model_dir) ``` 4. 定义训练数据 您需要准备一些训练数据。您可以使用任何聊天数据集,如Cornell电影对话数据集。您需要将数据预处理为模型可接受的格式。 ```python import numpy as np # Load the training data train_data = np.load("path/to/training/data.npy") # Preprocess the training data inputs = train_data[:, :-1] outputs = train_data[:, 1:] ``` 5. 训练模型 接下来,您可以使用TensorFlow的GradientTape API来定义训练循环,并在每个epoch结束时保存模型的权重。 ```python import os # Define the training loop def train(model, inputs, outputs, epochs, batch_size, learning_rate, save_dir): optimizer = tf.keras.optimizers.Adam(learning_rate=learning_rate) for epoch in range(epochs): epoch_loss = 0 num_batches = len(inputs) // batch_size for i in range(num_batches): batch_inputs = inputs[i*batch_size:(i+1)*batch_size] batch_outputs = outputs[i*batch_size:(i+1)*batch_size] with tf.GradientTape() as tape: logits = model(batch_inputs)["logits"] loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(labels=batch_outputs, logits=logits)) gradients = tape.gradient(loss, model.trainable_variables) optimizer.apply_gradients(zip(gradients, model.trainable_variables)) epoch_loss += loss.numpy() epoch_loss /= num_batches print("Epoch {} loss: {}".format(epoch+1, epoch_loss)) model.save_weights(os.path.join(save_dir, "epoch_{}.h5".format(epoch+1))) # Train the model epochs = 10 batch_size = 32 learning_rate = 0.001 save_dir = "path/to/save/dir" train(model, inputs, outputs, epochs, batch_size, learning_rate, save_dir) ``` 在训练完成后,您可以使用保存的权重来生成聊天回复。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值