小编Yeo*_*Jin的帖子

为什么npy的大小比csv大?

截图

我将csv更改为npy文件.更改后,csv文件的大小为5GB,npy为13GB.我认为npy文件比csv更有效.我误解了吗?为什么npy的大小比csv大?

我刚刚用过这段代码

full = pd.read_csv('data/RGB.csv', header=None).values
np.save('data/RGB.npy', full, allow_pickle=False, fix_imports=False)
Run Code Online (Sandbox Code Playgroud)

和数据结构如下:

R, G, B, is_skin
2, 5, 1, 0
10, 52, 242, 1
52, 240, 42, 0
...(row is 420,711,257)
Run Code Online (Sandbox Code Playgroud)

csv numpy python-3.x

5
推荐指数
1
解决办法
611
查看次数

如何无限使用yield列表元素

我有目录列表,该元素应该一次返回一个

所以我编码如下:

def gen():
    list = ["dir_1", "dir_2", ..., "dir_n"]
    for i in list:
        yield i
Run Code Online (Sandbox Code Playgroud)

但是,我想一遍又一遍地获取目录,例如dir_1,,,dir_2... dir_n,,,...这样。dir_1dir_2

我应该怎么做?

python python-3.x

5
推荐指数
1
解决办法
812
查看次数

“请将您的损失计算包装在零参数‘lambda’中。”是什么意思?方法?

我编写了一个将 L2 损失添加到主损失函数中的代码:

def add_l2(model, penalty=0.001):
    for layer in model.layers:
        if "conv" in layer.name:
            model.add_loss(penalty * tf.reduce_sum(tf.square(layer.trainable_variables[0])))
    return

## training
@tf.function
def train_one_step(model, x, y, optimizer):
    with tf.GradientTape() as tape:
        logits = model(x, training=True)
        loss = _criterion(y_true=y, y_pred=logits)

        add_l2(model, 0.001)
        loss += sum(model.losses)

    grads = tape.gradient(loss, model.trainable_variables)
    optimizer.apply_gradients(zip(grads, model.trainable_variables))
    return loss, logits

Run Code Online (Sandbox Code Playgroud)

当我开始训练时,我遇到了如下错误:

ValueError:需要一个符号张量或一个可调用的损失值。请将您的损失计算包装在零参数中lambda

这个错误是什么意思?我该如何治疗?

python tensorflow tensorflow2.0

2
推荐指数
1
解决办法
3250
查看次数

标签 统计

python ×2

python-3.x ×2

csv ×1

numpy ×1

tensorflow ×1

tensorflow2.0 ×1