czxt3000 2023-11-02 02:59 采纳率: 59.8%
浏览 49
已结题

工控机python错avx is not support

应该是paddlepaddle需要avx core。
是否是因为CPU不支持AVX指令集的关系?
是intel celeron(r) JT1900的处理器。
如果是,请教下什么CPU支持AVX指令集?

  • 写回答

9条回答 默认 最新

  • CyMylive. 新星创作者: python技术领域 2023-11-02 04:08
    关注

    结合GPT给出回答如下请题主参考
    是的,这个错误通常是因为CPU不支持AVX指令集的关系。

    AVX指令集是一种高级指令集,主要用于执行浮点运算和向量运算,它可以大幅度提升CPU运算速度。根据Intel官方资料,支持AVX指令集的CPU包括Intel Sandy Bridge、Ivy Bridge、Haswell、Broadwell、Skylake、Kaby Lake、Coffee Lake等。

    针对您提供的处理器型号,Intel Celeron J1900是Bay Trail系列中的一款处理器,不支持AVX指令集。所以您需要升级您的CPU,才能够支持AVX指令集。

    如果您需要在当前的环境中使用PaddlePaddle,可以尝试使用PaddlePaddle的低版本,或者使用其他的机器学习框架。

    代码案例:

    以下是一个简单的使用PaddlePaddle训练深度学习模型的代码案例:

    import paddle.fluid as fluid
    
    ### 定义数据输入
    
    image = fluid.layers.data(name="image", shape=[1, 28, 28], dtype="float32")
    label = fluid.layers.data(name="label", shape=[1], dtype="int64")
    
    ### 定义网络结构
    
    conv_pool_1 = fluid.nets.simple_img_conv_pool(input=image, filter_size=5, num_filters=20, pool_size=2, pool_stride=2, act="relu")
    conv_pool_2 = fluid.nets.simple_img_conv_pool(input=conv_pool_1, filter_size=5, num_filters=50, pool_size=2, pool_stride=2, act="relu")
    fc = fluid.layers.fc(input=conv_pool_2, size=10, act="softmax")
    
    ### 定义损失函数和优化器
    
    loss = fluid.layers.cross_entropy(input=fc, label=label)
    avg_loss = fluid.layers.mean(loss)
    optimizer = fluid.optimizer.AdamOptimizer(learning_rate=0.001)
    optimizer.minimize(avg_loss)
    
    ### 定义训练过程
    
    train_reader = paddle.batch(paddle.reader.shuffle(paddle.dataset.mnist.train(), buf_size=500), batch_size=128)
    test_reader = paddle.batch(paddle.dataset.mnist.test(), batch_size=128)
    
    place = fluid.CPUPlace()
    exe = fluid.Executor(place)
    
    feeder = fluid.DataFeeder(place=place, feed_list=[image, label])
    
    exe.run(fluid.default_startup_program())
    
    epochs = 10
    for epoch in range(epochs):
        for batch_id, data in enumerate(train_reader()):
            train_loss = exe.run(feed=feeder.feed(data), fetch_list=[avg_loss])
            if batch_id % 100 == 0:
                print("Epoch: {0}, Batch: {1}, Train Loss: {2}".format(epoch, batch_id, train_loss[0]))
    
        test_accs = []
        for batch_id, data in enumerate(test_reader()):
            test_acc = exe.run(feed=feeder.feed(data), fetch_list=[fc])
            test_acc = np.array(test_acc[0])
            test_label = data[1]
            test_acc = np.sum(np.argmax(test_acc, axis=1) == test_label) / float(test_label.shape[0])
            test_accs.append(test_acc)
        test_acc = np.mean(test_accs)
        print("Epoch: {0}, Test Accuracy: {1}".format(epoch, test_acc))
    

    以上代码用于训练一个简单的卷积神经网络,用于手写数字识别任务。具体的训练过程可以根据自己的需求进行调整。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 赞助了问题酬金20元 11月2日
  • 修改了问题 11月2日
  • 展开全部