Tensorflow学习 Invalid dimensions for image data

深度学习张量形状错误排查与防御指南 张量形状(Tensor Shape)是深度学习计算图中数据流动的骨架,其一致性直接决定前向传播与反向传播能否正确执行。本质源于多维数组在卷积、矩阵乘法、广播等操作中的维度对齐约束,涉及内存布局(如NCHW/NHWC)、框架契约(如nn.Conv2d要求4D输入)及动态batch适配等底层原理。掌握shape调试能力,不仅能规避RuntimeError: mat1 and mat2 shapes cannot be multiplied等高频报错,更能提升模型可维护性与部署鲁棒性。本文聚焦PyTorch工程实 阅读详情

研究tensorflow 深度学习框架

fashion mnist 使用28x28的灰度图片

# -*- coding: utf-8 -*-
# TensorFlow and tf.keras
from com.tfmnist.demo.utils import mnist_reader
from tensorflow import keras
import tensorflow as tf
# Helper libraries
import numpy as np


import matplotlib.pyplot as plt

if __name__ == '__main__':
    '''
       matplotlib   是一个 Python 的 2D绘图库
       image 和标签数据集
   '''
    train_images, train_labels = mnist_reader.load_mnist('data', kind='train')
    test_images, test_labels = mnist_reader.load_mnist('data', kind='t10k')
    class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
                   'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
    print("train_images ", train_images.shape, " test_images", test_images.shape)
    '''
    预处理数据
    使用2D绘图库来显示 image图片
    '''
    plt.figure()   
    plt.imshow(train_images[0])
    plt.colorbar()
    plt.grid(False)

    '''
    显示训练集中的前 25 张图像,并在每张图像下显示类别名称
    '''
    plt.figure(figsize=(10, 10))
    for i in range(25):
        plt.subplot(5, 5, i + 1)
        plt.xticks([])
        plt.yticks([])
        plt.grid(False)
        plt.imshow(train_images[i], cmap=plt.cm.binary)
        plt.xlabel(class_names[train_labels[i]])

遇到的异常

  1. 在使用 matplotlib 库显示 numpy数组image图片时,出现了 TypeError: Invalid dimensions for image data异常

pyplot.imshow()方法显示二维数组的图片导致dimensions 非法数据维度,因为fashion mnist 使用28x28的灰度图片,查看train_images.shape
在这里插入图片描述

是一维数组的格式,需要转换为二维数组,然后使用imshow显示

 image_temp=train_images[0].reshape(28, 28)
 plt.imshow(image_temp)

使用numpy reshape()方法把数组维度设置为28x28的二维数组
转换完成之后,查看下image_temp的shape
在这里插入图片描述

然后运行出来的效果图如下
在这里插入图片描述

或者在mnist_reader.load_mnist 里面修改

 with gzip.open(images_path, 'rb') as imgpath:
        images = np.frombuffer(imgpath.read(), dtype=np.uint8, offset=16).reshape(len(labels), 28, 28)

把np.frombuffer(imgpath.read(), dtype=np.uint8, offset=16) , reshape 为三维数组reshape(len(labels), 28, 28)

  1. 在macbook os系统上运行相同的代码,图片无显示
    需要在结尾再调用plt.show() 来显示图片,效果如下图
    在这里插入图片描述

显示数据没有问题,继续下一步

预处理数据

我们将28,28的数组的像素值缩小到 0 到 1 之间,然后将其馈送到神经网络模型。为此,将图像组件的数据类型从整数转换为浮点数,然后除以 255。以下是预处理图像的函数

 train_images = train_images / 255.0
 test_images = test_images / 255.0

构建模型

构建神经网络需要先配置模型的层,然后再编译模型。

 model = keras.Sequential([
        keras.layers.Flatten(input_shape=(28, 28)),
        keras.layers.Dense(128, activation=tf.nn.relu),
        keras.layers.Dense(10, activation=tf.nn.softmax)
    ])

该网络中的第一层 tf.keras.layers.Flatten 将图像格式从二维数组(28x28 像素)转换成一维数组(28 * 28 = 784 像素)。可以将该层视为图像中像素未堆叠的行,并排列这些行。该层没有要学习的参数;它只改动数据的格式。

在扁平化像素之后,该网络包含两个 tf.keras.layers.Dense 层的序列。这些层是密集连接或全连接神经层。第一个 Dense 层具有 128 个节点(或神经元)。第二个(也是最后一个)层是具有 10 个节点的 softmax 层,该层会返回一个具有 10 个概率得分的数组,这些得分的总和为 1。每个节点包含一个得分,表示当前图像属于 10 个类别中某一个的概率。

编译模型
指定目标函数或者损失函数为 sparse_categorical_crossentropy,
损失函数对应的优化器(数学不好不懂这个算法),
和数据训练的指标为accuracy 精准度

model.compile(optimizer=tf.train.AdamOptimizer(),
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

下一步训练模型

model.fit(train_images, train_labels, epochs=5)

调用fit进行训练,训练次数epochs设置为5次,下面是训练,5次训练的所有日志

Epoch 1/5
   32/60000 [..............................] - ETA: 2:58 - loss: 2.5790 - acc: 0.0938
 1184/60000 [..............................] - ETA: 7s - loss: 1.3121 - acc: 0.5591  
 2624/60000 [>.............................] - ETA: 4s - loss: 1.0030 - acc: 0.6562
 4032/60000 [=>............................] - ETA: 3s - loss: 0.8903 - acc: 0.6949
 5664/60000 [=>............................] - ETA: 2s - loss: 0.8147 - acc: 0.7228
 7456/60000 [==>...........................] - ETA: 2s - loss: 0.7597 - acc: 0.7403
 9344/60000 [===>..........................] - ETA: 2s - loss: 0.7349 - acc: 0.7480
11136/60000 [====>.........................] - ETA: 1s - loss: 0.7056 - acc: 0.7584
12864/60000 [=====>........................] - ETA: 1s - loss: 0.6844 - acc: 0.7654
14432/60000 [======>.......................] - ETA: 1s - loss: 0.6660 - acc: 0.7712
16128/60000 [=======>......................] - ETA: 1s - loss: 0.6460 - acc: 0.7777
17856/60000 [=======>......................] - ETA: 1s - loss: 0.6351 - acc: 0.7810
19680/60000 [========>.....................] - ETA: 1s - loss: 0.6213 - acc: 0.7863
21536/60000 [=========>....................] - ETA: 1s - loss: 0.6091 - acc: 0.7899
23392/60000 [==========>...................] - ETA: 1s - loss: 0.5992 - acc: 0.7932
24992/60000 [===========>..................] - ETA: 1s - loss: 0.5910 - acc: 0.7960
26816/60000 [============>.................] - ETA: 1s - loss: 0.5842 - acc: 0.7982
28672/60000 [=============>................] - ETA: 1s - loss: 0.5765 - acc: 0.8006
30464/60000 [==============>...............] - ETA: 0s - loss: 0.5687 - acc: 0.8028
32320/60000 [===============>..............] - ETA: 0s - loss: 0.5612 - acc: 0.8053
34112/60000 [================>.............] - ETA: 0s - loss: 0.5560 - acc: 0.8068
35904/60000 [================>.............] - ETA: 0s - loss: 0.5508 - acc: 0.8084
37728/60000 [=================>............] - ETA: 0s - loss: 0.5471 - acc: 0.8092
39552/60000 [==================>...........] - ETA: 0s - loss: 0.5414 - acc: 0.8112
41408/60000 [===================>..........] - ETA: 0s - loss: 0.5363 - acc: 0.8129
43168/60000 [====================>.........] - ETA: 0s - loss: 0.5319 - acc: 0.8144
44960/60000 [=====================>........] - ETA: 0s - loss: 0.5277 - acc: 0.8159
46816/60000 [======================>.......] - ETA: 0s - loss: 0.5239 - acc: 0.8166
48640/60000 [=======================>......] - ETA: 0s - loss: 0.5204 - acc: 0.8173
50464/60000 [========================>.....] - ETA: 0s - loss: 0.5168 - acc: 0.8185
52064/60000 [=========================>....] - ETA: 0s - loss: 0.5147 - acc: 0.8190
53888/60000 [=========================>....] - ETA: 0s - loss: 0.5116 - acc: 0.8199
55744/60000 [==========================>...] - ETA: 0s - loss: 0.5080 - acc: 0.8212
57536/60000 [===========================>..] - ETA: 0s - loss: 0.5064 - acc: 0.8216
59328/60000 [============================>.] - ETA: 0s - loss: 0.5037 - acc: 0.8225
60000/60000 [==============================] - 2s 31us/step - loss: 0.5035 - acc: 0.8226
Epoch 2/5
   32/60000 [..............................] - ETA: 5s - loss: 0.5432 - acc: 0.8438
 1920/60000 [..............................] - ETA: 1s - loss: 0.3944 - acc: 0.8594
 3744/60000 [>.............................] - ETA: 1s - loss: 0.3801 - acc: 0.8691
 5600/60000 [=>............................] - ETA: 1s - loss: 0.3834 - acc: 0.8662
 7360/60000 [==>...........................] - ETA: 1s - loss: 0.3863 - acc: 0.8628
 8832/60000 [===>..........................] - ETA: 1s - loss: 0.3855 - acc: 0.8628
10368/60000 [====>.........................] - ETA: 1s - loss: 0.3850 - acc: 0.8633
12288/60000 [=====>........................] - ETA: 1s - loss: 0.3800 - acc: 0.8639
14112/60000 [======>.......................] - ETA: 1s - loss: 0.3785 - acc: 0.8652
15968/60000 [======>.......................] - ETA: 1s - loss: 0.3769 - acc: 0.8657
17888/60000 [=======>......................] - ETA: 1s - loss: 0.3784 - acc: 0.8653
19744/60000 [========>.....................] - ETA: 1s - loss: 0.3828 - acc: 0.8637
21568/60000 [=========>....................] - ETA: 1s - loss: 0.3833 - acc: 0.8631
23520/60000 [==========>...................] - ETA: 1s - loss: 0.3824 - acc: 0.8637
25440/60000 [===========>..................] - ETA: 0s - loss: 0.3793 - acc: 0.8645
26848/60000 [============>.................] - ETA: 0s - loss: 0.3779 - acc: 0.8650
28448/60000 [=============>................] - ETA: 0s - loss: 0.3762 - acc: 0.8659
30144/60000 [==============>...............] - ETA: 0s - loss: 0.3777 - acc: 0.8653
31744/60000 [==============>...............] - ETA: 0s - loss: 0.3771 - acc: 0.8652
33632/60000 [===============>..............] - ETA: 0s - loss: 0.3769 - acc: 0.8656
35552/60000 [================>.............] - ETA: 0s - loss: 0.3780 - acc: 0.8653
37408/60000 [=================>............] - ETA: 0s - loss: 0.3778 - acc: 0.8653
39264/60000 [==================>...........] - ETA: 0s - loss: 0.3775 - acc: 0.8656
41184/60000 [===================>..........] - ETA: 0s - loss: 0.3771 - acc: 0.8653
43072/60000 [====================>.........] - ETA: 0s - loss: 0.3759 - acc: 0.8656
44864/60000 [=====================>........] - ETA: 0s - loss: 0.3759 - acc: 0.8653
46784/60000 [======================>.......] - ETA: 0s - loss: 0.3768 - acc: 0.8648
48736/60000 [=======================>......] - ETA: 0s - loss: 0.3760 - acc: 0.8655
50624/60000 [========================>.....] - ETA: 0s - loss: 0.3744 - acc: 0.8663
52480/60000 [=========================>....] - ETA: 0s - loss: 0.3734 - acc: 0.8667
54368/60000 [==========================>...] - ETA: 0s - loss: 0.3736 - acc: 0.8664
56224/60000 [===========================>..] - ETA: 0s - loss: 0.3744 - acc: 0.8661
58176/60000 [============================>.] - ETA: 0s - loss: 0.3740 - acc: 0.8659
60000/60000 [==============================] - 2s 28us/step - loss: 0.3737 - acc: 0.8658
Epoch 3/5
   32/60000 [..............................] - ETA: 3s - loss: 0.2923 - acc: 0.9375
 1920/60000 [..............................] - ETA: 1s - loss: 0.3462 - acc: 0.8755
 3680/60000 [>.............................] - ETA: 1s - loss: 0.3449 - acc: 0.8799
 5600/60000 [=>............................] - ETA: 1s - loss: 0.3356 - acc: 0.8788
 7488/60000 [==>...........................] - ETA: 1s - loss: 0.3292 - acc: 0.8811
 9280/60000 [===>..........................] - ETA: 1s - loss: 0.3294 - acc: 0.8807
11104/60000 [====>.........................] - ETA: 1s - loss: 0.3279 - acc: 0.8811
12960/60000 [=====>........................] - ETA: 1s - loss: 0.3331 - acc: 0.8820
14912/60000 [======>.......................] - ETA: 1s - loss: 0.3347 - acc: 0.8803
16800/60000 [=======>......................] - ETA: 1s - loss: 0.3335 - acc: 0.8804
18624/60000 [========>.....................] - ETA: 1s - loss: 0.3376 - acc: 0.8791
20576/60000 [=========>....................] - ETA: 1s - loss: 0.3361 - acc: 0.8790
22496/60000 [==========>...................] - ETA: 1s - loss: 0.3360 - acc: 0.8788
24320/60000 [===========>..................] - ETA: 0s - loss: 0.3359 - acc: 0.8786
26240/60000 [============>.................] - ETA: 0s - loss: 0.3343 - acc: 0.8792
28160/60000 [=============>................] - ETA: 0s - loss: 0.3335 - acc: 0.8793
30080/60000 [==============>...............] - ETA: 0s - loss: 0.3351 - acc: 0.8791
31904/60000 [==============>...............] - ETA: 0s - loss: 0.3350 - acc: 0.8793
33824/60000 [===============>..............] - ETA: 0s - loss: 0.3337 - acc: 0.8797
35744/60000 [================>.............] - ETA: 0s - loss: 0.3325 - acc: 0.8799
37696/60000 [=================>............] - ETA: 0s - loss: 0.3353 - acc: 0.8786
39584/60000 [==================>...........] - ETA: 0s - loss: 0.3367 - acc: 0.8781
41312/60000 [===================>..........] - ETA: 0s - loss: 0.3382 - acc: 0.8773
43200/60000 [====================>.........] - ETA: 0s - loss: 0.3382 - acc: 0.8775
45120/60000 [=====================>........] - ETA: 0s - loss: 0.3376 - acc: 0.8772
47072/60000 [======================>.......] - ETA: 0s - loss: 0.3369 - acc: 0.8777
48928/60000 [=======================>......] - ETA: 0s - loss: 0.3370 - acc: 0.8777
50816/60000 [========================>.....] - ETA: 0s - loss: 0.3366 - acc: 0.8775
52768/60000 [=========================>....] - ETA: 0s - loss: 0.3368 - acc: 0.8775
54688/60000 [==========================>...] - ETA: 0s - loss: 0.3374 - acc: 0.8773
56544/60000 [===========================>..] - ETA: 0s - loss: 0.3379 - acc: 0.8771
58464/60000 [============================>.] - ETA: 0s - loss: 0.3373 - acc: 0.8771
60000/60000 [==============================] - 2s 27us/step - loss: 0.3369 - acc: 0.8773
Epoch 4/5
   32/60000 [..............................] - ETA: 3s - loss: 0.2904 - acc: 0.8750
 1984/60000 [..............................] - ETA: 1s - loss: 0.3182 - acc: 0.8745
 3840/60000 [>.............................] - ETA: 1s - loss: 0.3295 - acc: 0.8753
 5632/60000 [=>............................] - ETA: 1s - loss: 0.3332 - acc: 0.8722
 7552/60000 [==>...........................] - ETA: 1s - loss: 0.3290 - acc: 0.8770
 9504/60000 [===>..........................] - ETA: 1s - loss: 0.3263 - acc: 0.8794
11456/60000 [====>.........................] - ETA: 1s - loss: 0.3223 - acc: 0.8818
13248/60000 [=====>........................] - ETA: 1s - loss: 0.3194 - acc: 0.8824
15168/60000 [======>.......................] - ETA: 1s - loss: 0.3173 - acc: 0.8832
17088/60000 [=======>......................] - ETA: 1s - loss: 0.3175 - acc: 0.8840
18848/60000 [========>.....................] - ETA: 1s - loss: 0.3173 - acc: 0.8834
20672/60000 [=========>....................] - ETA: 1s - loss: 0.3169 - acc: 0.8827
22624/60000 [==========>...................] - ETA: 1s - loss: 0.3155 - acc: 0.8828
24576/60000 [===========>..................] - ETA: 0s - loss: 0.3154 - acc: 0.8830
26496/60000 [============>.................] - ETA: 0s - loss: 0.3161 - acc: 0.8827
28448/60000 [=============>................] - ETA: 0s - loss: 0.3160 - acc: 0.8830
30304/60000 [==============>...............] - ETA: 0s - loss: 0.3159 - acc: 0.8831
32224/60000 [===============>..............] - ETA: 0s - loss: 0.3163 - acc: 0.8832
34208/60000 [================>.............] - ETA: 0s - loss: 0.3147 - acc: 0.8839
36160/60000 [=================>............] - ETA: 0s - loss: 0.3133 - acc: 0.8849
38048/60000 [==================>...........] - ETA: 0s - loss: 0.3132 - acc: 0.8848
40000/60000 [===================>..........] - ETA: 0s - loss: 0.3132 - acc: 0.8850
41920/60000 [===================>..........] - ETA: 0s - loss: 0.3139 - acc: 0.8851
43872/60000 [====================>.........] - ETA: 0s - loss: 0.3155 - acc: 0.8844
45760/60000 [=====================>........] - ETA: 0s - loss: 0.3157 - acc: 0.8842
47648/60000 [======================>.......] - ETA: 0s - loss: 0.3153 - acc: 0.8842
49600/60000 [=======================>......] - ETA: 0s - loss: 0.3160 - acc: 0.8840
51552/60000 [========================>.....] - ETA: 0s - loss: 0.3155 - acc: 0.8844
53504/60000 [=========================>....] - ETA: 0s - loss: 0.3148 - acc: 0.8847
55264/60000 [==========================>...] - ETA: 0s - loss: 0.3150 - acc: 0.8846
57120/60000 [===========================>..] - ETA: 0s - loss: 0.3153 - acc: 0.8843
59072/60000 [============================>.] - ETA: 0s - loss: 0.3145 - acc: 0.8845
60000/60000 [==============================] - 2s 27us/step - loss: 0.3143 - acc: 0.8845
Epoch 5/5
   32/60000 [..............................] - ETA: 5s - loss: 0.3525 - acc: 0.8438
 1888/60000 [..............................] - ETA: 1s - loss: 0.2724 - acc: 0.9062
 3776/60000 [>.............................] - ETA: 1s - loss: 0.2815 - acc: 0.8986
 5664/60000 [=>............................] - ETA: 1s - loss: 0.2959 - acc: 0.8948
 7584/60000 [==>...........................] - ETA: 1s - loss: 0.2919 - acc: 0.8965
 9536/60000 [===>..........................] - ETA: 1s - loss: 0.2890 - acc: 0.8983
11392/60000 [====>.........................] - ETA: 1s - loss: 0.2916 - acc: 0.8977
13312/60000 [=====>........................] - ETA: 1s - loss: 0.2934 - acc: 0.8963
14784/60000 [======>.......................] - ETA: 1s - loss: 0.2967 - acc: 0.8946
16672/60000 [=======>......................] - ETA: 1s - loss: 0.2957 - acc: 0.8950
18592/60000 [========>.....................] - ETA: 1s - loss: 0.2944 - acc: 0.8954
20512/60000 [=========>....................] - ETA: 1s - loss: 0.2965 - acc: 0.8939
22432/60000 [==========>...................] - ETA: 1s - loss: 0.2957 - acc: 0.8938
24352/60000 [===========>..................] - ETA: 0s - loss: 0.2959 - acc: 0.8942
26240/60000 [============>.................] - ETA: 0s - loss: 0.2942 - acc: 0.8946
28096/60000 [=============>................] - ETA: 0s - loss: 0.2949 - acc: 0.8941
30016/60000 [==============>...............] - ETA: 0s - loss: 0.2952 - acc: 0.8941
31872/60000 [==============>...............] - ETA: 0s - loss: 0.2942 - acc: 0.8941
33664/60000 [===============>..............] - ETA: 0s - loss: 0.2952 - acc: 0.8934
35488/60000 [================>.............] - ETA: 0s - loss: 0.2955 - acc: 0.8933
37376/60000 [=================>............] - ETA: 0s - loss: 0.2954 - acc: 0.8928
39296/60000 [==================>...........] - ETA: 0s - loss: 0.2953 - acc: 0.8925
41184/60000 [===================>..........] - ETA: 0s - loss: 0.2952 - acc: 0.8925
43040/60000 [====================>.........] - ETA: 0s - loss: 0.2944 - acc: 0.8930
44896/60000 [=====================>........] - ETA: 0s - loss: 0.2936 - acc: 0.8932
46816/60000 [======================>.......] - ETA: 0s - loss: 0.2946 - acc: 0.8929
48736/60000 [=======================>......] - ETA: 0s - loss: 0.2956 - acc: 0.8925
50528/60000 [========================>.....] - ETA: 0s - loss: 0.2953 - acc: 0.8928
52416/60000 [=========================>....] - ETA: 0s - loss: 0.2955 - acc: 0.8926
54336/60000 [==========================>...] - ETA: 0s - loss: 0.2954 - acc: 0.8928
56224/60000 [===========================>..] - ETA: 0s - loss: 0.2952 - acc: 0.8929
58048/60000 [============================>.] - ETA: 0s - loss: 0.2961 - acc: 0.8925
59936/60000 [============================>.] - ETA: 0s - loss: 0.2955 - acc: 0.8925
60000/60000 [==============================] - 2s 27us/step - loss: 0.2954 - acc: 0.8925   

使用测试数据在模型进行测试

test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)
32/10000 [..............................] - ETA: 9s
 2848/10000 [=======>......................] - ETA: 0s
 6112/10000 [=================>............] - ETA: 0s
 9504/10000 [===========================>..] - ETA: 0s
10000/10000 [==============================] - 0s 19us/step
Test accuracy: 0.8776

0.8925 0.8776测试数据集结果小于训练结果,表示过拟合

AWS机器学习专家认证实战攻坚:三周沙盒式备考方法论 AWS机器学习专家认证(MLS)并非算法理论考试,而是面向真实云上MLOps工程能力的深度检验。其核心在于理解SageMaker各服务(如Training Job、Endpoint、Model Monitor)在IAM权限、网络配置、资源参数与错误日志层面的协同逻辑。考试高度聚焦操作语义——例如VolumeSizeInGB决定训练磁盘容量而非仅实例规格,DriftCheckBaselines本质是数据质量契约而非静态快照。技术价值体现在将模糊业务需求(如客服工单自动分类)快速映射为可部署、可观测、可回滚的生 阅读详情

相关推荐

Rust深度学习绑定实战:PyTorch与ONNX Runtime安全集成指南

深度学习推理引擎是AI工程化落地的核心组件,其本质是高性能张量计算与图执行的结合体。理解底层C/C++运行时(如libtorch、ONNX Runtime)的工作原理,是实现跨语言高效调用的前提。Rust凭借内存安全与零成本抽象优势,成为生产环境模型部署的理想载体——它不替代Python的数据科学生态,而是通过类型安全的FFI绑定,将成熟算子库的能力无缝引入高可靠性系统。本文聚焦Data Science场景下的工程实践,详解如何利用tch-rs和ort crate构建安全、可维护、易调试的Rust推理服务,

weixin_30268921的博客 551

TypeError: Invalid dimensions for image data

首先看一段代码: import matplotlib.pyplot as plt import tensorflow as tf import numpy as np image_raw_data = tf.gfile.FastGFile('images/4.jpg', 'rb').read() with tf.Session() as sess: img_data = tf.i...

LoveWeeknd 1万+

ComfyUI节点安装笔记

AI高速发展,版本更新相当快(11月25日才安装的版本v.0.3.4,27日版本就已经更新到v.0.3.5了),在遇到问题,找到问题原因所在的过程中,ComfyUI版本、python版本、节点对环境版本的依赖,本文就是在为了解决自己遇到问题过程中,如何快速安装ComfyUI及节点而作的笔记。

zslefour的专栏 1万+

【代码错误记录】显示数据集图片-图片tensor问题

matplotlib.pyplot.imshow()函数的输入需要是二维的numpy或者是第三维度是3或4的numpy,解决这个问题的关键就是理解了imshow函数的参数。

zhe470719的博客 1038

Kimi K3 GPU资源优化与部署实战:从原理到生产环境

GPU作为AI计算的核心硬件,通过并行计算架构大幅加速深度学习模型的推理过程。其技术价值在于能够高效处理矩阵运算,为大规模语言模型提供实时响应能力。在AI编程助手等应用场景中,GPU资源管理成为关键挑战。模型量化技术通过降低参数精度来优化显存使用,而动态批处理则能提升GPU利用率。针对Kimi K3这类AI编程服务,合理的GPU配置和资源优化策略可以显著提升服务稳定性。本文基于GPU计算原理和优化实践,深入探讨如何通过量化技术和批处理方案解决AI服务部署中的资源瓶颈问题。

weixin_30535843的博客 432

Unity集成YOLOv12实现AR目标检测:从模型部署到移动端优化全流程

目标检测是计算机视觉的核心任务之一,旨在识别图像中特定物体并定位其位置。其原理通常基于深度学习模型,通过卷积神经网络提取特征并预测边界框与类别。这项技术的核心价值在于让机器“看懂”视觉世界,是实现智能交互的基础。在工程实践中,目标检测技术广泛应用于安防监控、自动驾驶、工业质检以及增强现实(AR)等领域。特别是在AR场景中,实时、准确的目标检测能够将虚拟信息与真实物体精准叠加,创造沉浸式交互体验。本文聚焦于如何将前沿的YOLOv12模型集成到Unity引擎中,构建跨平台的AR应用,并深入探讨了ONNX Run

weixin_33910460的博客 396

matplotlib绘图imshow()函数报错“TypeError: Invalid dimensions for image data”

解决这个问题的关键就是理解了imshow函数的参数。matplotlib.pyplot.imshow()函数的输入需要是二维的numpy或者是第三维度是3或4的numpy,当第3维深度是1时,使用np.squeeze()函数压缩数据成为二维数组。因为我在pytorch环境下使用,得到结果的输出是(batch_size,channel,width,height)的tensor,因此我首先需要deta...

开飞机的小毛驴儿 7010

82、yolov11检测模型迁移瑞芯微rk3588和使用昇腾设备300i DUO卡推理 batch=1/3,支持昇腾NMS迁移npu推理

本文介绍了使用昇腾设备进行分割推理的测试流程,包括两种测试方式(cann+onnx和om)。首先验证300iDUO卡的可用性,随后创建Docker镜像和容器以搭建独立环境。通过从指定仓库拉取Ubuntu 20.04镜像,创建容器并映射目录。进入容器后安装必要组件(Python3、GCC等)和系统工具(pciutils、net-tools等),为后续模型转换和迁移做准备。整个流程旨在构建可交付给第三方的标准化测试环境。

sxj731533730 1198

TensorFlow——[基本图像分类]fashion-mnist及mnist_reader.py运行错误[TypeError: Invalid dimensions for image data]

问题描述 无。 问题分析 问题关键理解imshow函数的参数。 matplotlib.pyplot.imshow()需要数据是二维的数组或者第三维深度是3或4的三维数组,当第三维深度为1时,使用np.squeeze()压缩数据成为二维数组。 解决方案 改写mnist_reader.py def load_mnist(path, kind='train'): import os import gzip import numpy as np """Load M.

无限迭代中...... 1803

手把手教你用示波器测试DDR5 DRAM信号完整性(附眼图分析技巧)

本文详细介绍了如何使用示波器测试DDR5 DRAM信号完整性,包括眼图分析技巧。从DDR5的核心挑战、测试设备选型到实测工作流程,提供了全面的指导。特别强调了DFE功能验证和系统级协同测试,帮助工程师解决信号完整性问题,提升测试效率。

g2h3i4j5的博客 1149

同济土木非0基础三个月跨考复旦计算机攻略

跨考cs攻略前言我cs专业课如何复习How to start from zero简历其他复试 前言 建议多去工地/化工厂涡轮增压一下 我 同济土木gpa 3.2/5 挂科 * n 辣鸡项目 * n (padding 简历) 21考复旦计算机专硕 10月-12月 学习+复习 总分392 政治 68;背肖4即可 英语二 78 裸考,(高考英语140+);做点真题,建议据自己情况准备 数学二 142 ;(高考数学接近满分);做真题+模拟题,每天写一张试卷 专业课 104 ,考试生病了,下文展开。 cs专业课

piglake的博客 7236

MLOps实战:解决模型退化、数据漂移与生产监控四大难题

MLOps 是面向机器学习系统在生产环境中持续交付与可靠运行的工程范式,其核心在于应对数据腐烂、特征漂移、模型退化等概率性系统固有挑战。不同于传统DevOps的确定性逻辑,MLOps需构建覆盖数据层、模型层、业务层的多维监控体系,并通过原子快照版本控制、特征服务化、动态基线告警等关键技术保障可重复性与可审计性。它支撑从电商推荐、金融风控到医疗影像等真实场景的稳定迭代,本质是将‘能跑通’升级为‘能扛住、可归因、易治理’的工业级AI能力。本文聚焦落地中高频出现的模型性能骤降、特征不一致、监控误报等典型问题,提供

chenshixi3325的博客 455

EV1527、PT2262傻傻分不清?一文讲透常见315/433MHz遥控编码协议区别与选型

本文深度对比了EV1527、PT2262和SC5262三种常见的315/433MHz遥控编码协议,详细解析了它们的技术特点、成本效益和适用场景。EV1527作为低成本方案的首选,特别适合智能家居和简易安防设备;PT2262在稳定性和兼容性上表现优异;而SC5262则在安全性方面具有显著优势。文章还提供了实用的选型框架和工程建议,帮助开发者在不同应用场景中做出最优决策。

weixin_33640562的博客 349

C++结合OpenCV与ONNX Runtime实现高效深度学习模型部署实战

深度学习模型部署是AI工程化落地的关键环节,其核心在于将训练好的模型高效、稳定地集成到生产环境中。模型推理框架作为连接算法与硬件的桥梁,通过优化计算图、内存管理和硬件加速,能显著提升推理性能并降低资源消耗。在工业视觉、嵌入式设备和高性能服务端等对延迟和内存有严格限制的场景中,C++凭借其卓越的运行效率和硬件控制能力,成为部署首选语言。OpenCV提供了强大的图像预处理能力,而ONNX Runtime作为跨平台的高性能推理引擎,支持多种硬件后端,两者结合能有效解决Python在部署环节的性能瓶颈。本文以图像分

weixin_30325971的博客 315

深度学习(Deep Learning, DL)简介

深度学习(Deep Learning, DL)是机器学习的一个子领域,主要使用多层神经网络来处理复杂的数据和任务。深度学习通过模拟人脑的神经网络结构,能够自动提取特征并进行高效的模式识别和预测。

qq_28791753的博客 1万+

SAP Fiori Launchpad Tile,UI5 应用,和 PFCG Role 的对应关系

问题:已经看到了SAP Fiori Launchpad上的某个tile,如何反推后台需要配置哪个PFCG Role才能看到该tile? 这个问题是今天一个朋友在微信上问我的。因为我最近忙着学习一个新的SAP产品,所以这个问题也没有时间展开来写,本文就只做概要介绍。 下图是一个Gateway系统上打开的SAP CRM Fiori Launchpad: 如何弄清楚后台用户配置了哪个PFCG Role之后,才能看到Sales Representative(CRM)这个Group下的tile? 既然当前我使用的用

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1520

AWS re:Invent 2020机器学习工程化落地核心解析

机器学习工程化(MLOps)是将模型从实验环境可靠、高效、可审计地推向生产的关键范式。其核心原理在于解耦模型开发与基础设施运维,通过声明式流水线、可观测性工具链和自动化推理优化,实现模型生命周期的度量、回滚与成本治理。技术价值体现在降低上线延迟、提升资源利用率、增强故障定位精度,并支撑实时推荐、智能预测等高要求场景。本文聚焦AWS re:Invent 2020发布的SageMaker Pipelines、Debugger与Inference Recommender三大能力,深入剖析其在真实业务中如何解决模型

340

遗传算法(GA)全面解析:从生物基础到工程实践

本文全面解析了遗传算法(GA),从其生物基础到工程实践应用。遗传算法模拟自然进化过程,通过选择、交叉和变异等操作在解空间中高效搜索最优解。文章详细介绍了算法的生物学基础(达尔文进化论、孟德尔遗传定律)、基本概念(种群、个体、基因等)和核心思想。重点阐述了遗传算法的数学模型,包括编码机制、适应度函数设计、遗传算子(选择、交叉、变异)以及关键控制参数。最后提供了一个完整的Python实现示例,展示了遗传算法求解函数最大值问题的具体应用。该算法具有群体搜索、概率导向、无需梯度等特点,适用于各类复杂优化问题。

qq_42212808的博客 1175

机器学习模型生产化落地:从Notebook到K8s的工程实践

机器学习模型部署不是简单运行predict(),而是构建可监控、可回滚、可扩展的生产级服务。其核心在于解耦数据加载、特征计算、模型推理与服务编排四层异构系统,并采用ONNX等标准化序列化协议实现跨环境一致性。通过Distroless镜像、Feature Store服务化、三级数据漂移监控及Helm+Kustomize基础设施即代码,可显著提升模型服务的稳定性、安全性和可观测性。本文聚焦真实产线中高频出现的OOMKilled、Triton维度错误、特征延迟飙升、标签泄露等典型问题,提供基于电商、金融、工业场景

weixin_30740295的博客 389

脉冲变压器电感选型参数,结构原理,工艺与注意问题总结

脉冲变压器电感简称脉冲变压器,是一种特殊类型的变压器,主要用于处理脉冲信号。它的主要特性是能够在短时间内承受高电压和大电流。脉冲变压器主要用于开关电源、脉冲功率放大、雷达脉冲调制等领域。本文对脉冲变压器的工作原理,结构特点,工艺流程,选型参数及设计注意事项进行总结。

fydar的博客 1341

【毕设护航】从0构建YOLOv8犬类识别系统,120种犬类精准检测+可视化界面全流程指南

本文介绍了一个基于YOLOv8的120种犬类目标检测与可视化系统毕业设计项目。该项目使用Stanford Dogs数据集,将图像分类任务转化为目标检测任务。主要内容包括:数据预处理(XML标注转换为YOLO格式)、YOLOv8模型训练与测试(包含训练脚本编写和推理实现),以及基于Tkinter的图形界面开发。该项目技术链条完整,涵盖检测、分割等多任务支持,适合作为计算机视觉方向的毕业设计选题,兼具技术深度和展示效果。

LXY_LOVE36的博客 96

基于YOLO的行人车辆目标检测:从YOLOv5到YOLOv8的全栈实战指南

本文全面介绍了基于YOLO系列模型的行人车辆检测系统构建方法。主要内容包括: YOLO算法原理深度解析 详细讲解了YOLOv1-v8各版本的演进历程和核心创新点 对比分析了不同版本的性能特点和适用场景 完整实践指南 数据集准备与标注转换 模型训练调优全流程 验证评估指标解读 模型导出与部署方案 系统实现 提供可运行的核心代码(train.py/val.py/detect.py等) 基于PyQt5的GUI界面开发 性能优化技巧(FP16/量化/剪枝等) 对比实验 在相同数据集上测试YOLOv5-v8的表现 给

m0_51689679的博客 705

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

机器学习模型生产化落地:从Notebook到高可用服务的工程实践

机器学习模型部署不是简单导出和封装,而是涵盖模型序列化、API服务化、容器化交付、灰度发布、可观测性监控与自动回滚的一整套工程体系。其核心在于将‘模型’作为可版本化、可追溯、可治理的独立资产,与服务解耦;通过ONNX等跨框架标准提升推理性能与安全性;借助Kubernetes+FastAPI构建弹性、可观测的服务层;并以数据漂移检测、业务指标监控和黄金信号告警实现真正的MLOps闭环。本文聚焦真实产线中模型上线后的稳定性保障、故障隔离与持续演进,覆盖模型注册中心、灰度发布、生产级Docker镜像构建及ML专属

weixin_30376083的博客 387

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

模型服务化实战:从Notebook到生产级在线推理

模型服务化是机器学习落地的关键环节,指将训练完成的模型封装为高可用、低延迟、可监控的在线推理服务。其核心原理在于解耦模型逻辑与运行时环境,通过标准化协议(如gRPC)、专用推理服务器(如Triton)和容器化编排(如Kubernetes)实现资源高效利用与弹性伸缩。技术价值体现在显著提升吞吐量、降低P99延迟、保障服务SLA,并支撑灰度发布、AB测试与快速回滚等工程实践。典型应用场景包括实时推荐、风控决策、智能客服及图像识别等对延迟与稳定性敏感的线上业务。本文聚焦真实生产环境中的模型服务化落地,深入解析Tr

dibeichan3033的博客 466

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

AI模型部署安全实战:从云端到单片机的分层防护策略

AI模型部署是将训练好的机器学习模型集成到生产环境的关键环节,涉及模型转换、优化和服务化。其核心原理在于通过软件工程方法,将模型从开发环境迁移至目标硬件或平台,确保其能高效、稳定地执行推理任务。这一过程的技术价值在于打通AI落地的“最后一公里”,是实现AI赋能业务的核心。随着AI模型从云端服务器扩展到边缘设备甚至资源受限的单片机,其应用场景日益广泛,但攻击面也随之扩大,模型安全成为不可忽视的挑战。本文聚焦于**AI模型部署**中的**网络安全防护策略**,深入探讨如何构建从网关到应用、再到运行时的多层次防御

weixin_33896726的博客 369
上一篇: 有系统权限的应用开发时遇到的问题
下一篇: macos安装redis
WoozXi
博客等级 码龄14年 7粉丝 65原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值