25、深度学习-自学之路-卷积神经网络基于MNIST数据集的程序展示
import keras #添加Keraskuimport sys,numpy as np from keras.utils import np_utilsimport osfrom keras.datasets import mnist print("licheng:"+"20"+'\n') np.random.seed(1)(x_train,y_train),(x_test,y_test) = mnist.load_data() #第一次进行Mnist 数据的下载 images,labels = (x_train[0:1000].reshape(1000,28*28)/255,y_train[0:1000]) #将图片信息和图片标识信息赋值给images 和labels ''' print("x_train[0:1000]"+str(x_train[0:1000])) print("x_train[0:1000].reshape(1000,28*28)"+str(x_train[0:1000].reshape(1000,28*28)))#是一个全零的矩阵 print("images:"+str(images))#感觉是一个10*100的矩阵。 print("labels"+str(labels))#0-10的杂乱的数字 ''' one_hot_lables = np.zeros((len(labels),10))#创建一个1000行,10列的全零矩阵 #print("one_hot_lables"+str(one_hot_lables))#for i,l in enumerate(labels):one_hot_lables[i][l] =1; labels = one_hot_lablestest_images = x_test.reshape(len(x_test),28*28)/256 test_lables = np.zeros((len(y_test),10)) for i,l in enumerate(y_test):test_lables[i][l] = 1def tanh(x):return np.tanh(x)def tanh2deriv(output):return 1-(output**2)def softmax(x):temp = np.exp(x)return temp/np.sum(temp,axis=1,keepdims=True)#relu = lambda x:(x>=0)*x #relu2deriv = lambda x:x>=0alpha,iterations = (2,300) #hidden_size, pixels_per_image,num_labels = (784,10) batch_size = 128input_rows = 28 input_cols = 28kernel_rows = 3 kernel_cols = 3 num_kernels = 16hidden_size = ((input_rows - kernel_rows)*(input_cols - kernel_cols))*num_kernelskernels = 0.02*np.random.random((kernel_rows*kernel_cols,num_kernels)) -0.01 weight_1_2 = 0.2*np.random.random((hidden_size,num_labels)) - 0.1def get_image_section(layer,row_from,row_to,col_from,col_to):section = layer[:,row_from:row_to,col_from:col_to]return section.reshape(-1,1,row_to-row_from,col_to-col_from)for j in range(iterations):#一共循环350次error,correct_cnt = (0.0,0)for i in range(int(len(images)/batch_size)): #有多少个图片就有多少个循环,#for i in range(1):batch_start,batch_end = ((i*batch_size),((i+1)*batch_size))#batch_start, batch_end = (0, 1)layer_0 = images[batch_start:batch_end] #每一张图片解析出来的对应的像素点的单列矩阵或者是单行layer_0 = layer_0.reshape(layer_0.shape[0],28,28)#把layer_0重塑成一个三维数组,1,28,28#print("layer_0.shape"+str(np.shape(layer_0)))#print("layer_0"+str(" ")+str(layer_0))#layer_0.shapesects = list()#print("layer_0.shape[1]" +str(layer_0.shape[1]))#print("layer_0.shape[2]" + str(layer_0.shape[2]))for row_start in range(layer_0.shape[1] - kernel_rows):for col_start in range(layer_0.shape[2]-kernel_cols):sect = get_image_section(layer_0,row_start,row_start+kernel_rows,col_start,col_start+kernel_cols)#if row_start == 0:#print("sect" +str(" ")+str(sect))sects.append(sect)#将数据打散成3*3的小数据,然后组合在一起。一行可以转化成25个小的3*3#print("sect" +str(" ")+str(sect))expanded_input = np.concatenate(sects,axis =1)#print("expanded_input" + str(" ") + str(expanded_input))es = expanded_input.shape #输出为:es (1, 625, 3, 3)#print("es" + str(" ") + str(es))#print("es[0]" + str(" ") + str(es[0]))#print("es[1]" + str(" ") + str(es[1]))flattened_input = expanded_input.reshape(es[0]*es[1],-1) #输出为:flattened_input.shape (625, 9)#print("flattened_input.shape" + str(" ") + str(np.shape(flattened_input)))kernel_output = flattened_input.dot(kernels)#输出为:kernel_output.shape (625, 16)#print("kernel_output" + str(" ") + str(kernel_output))#print("kernel_output.shape" + str(" ") + str(np.shape(kernel_output)))#print("layer_0:"+str(layer_0))#layer_1 = relu(np.dot(layer_0,weight_0_1))#对二层神经网络的数据进行rule处理。小于0的数字都为0,大于0的数字都是本身。layer_1 = tanh(kernel_output.reshape(es[0],-1))#print("layer_1.shape" + str(" ") + str(np.shape(layer_1)))#layer_1.shape (1, 10000)dropout_mask = np.random.randint(2,size=layer_1.shape)layer_1 *= dropout_mask*2#layer_2 = np.dot(layer_1,weight_1_2)#将第二层神经网络的值和第二层的权重加权和得到输出数据。layer_2 = softmax(np.dot(layer_1,weight_1_2))#error += np.sum((labels[batch_start:batch_end] - layer_2)**2)#把每一张图片的误差值进行累加for k in range(batch_size):labelset = labels[batch_start+k:batch_start+k+1]_inc = int(np.argmax(layer_2[k:k+1])== \np.argmax(labelset))#把每次预测成功率进行累加。correct_cnt +=_inc#layer_2_delta = np.full((100,10),(np.sum(labels[batch_start:batch_end]-layer_2))/batch_size)#print(layer_2.shape)layer_2_delta = (labels[batch_start:batch_end]-layer_2)\/(batch_size * layer_2.shape[0])#计算权重反向误差第二层#layer_2_delta = (labels[batch_start:batch_end]-layer_2) #计算权重反向误差第二层layer_1_delta = layer_2_delta.dot(weight_1_2.T)*tanh2deriv(layer_1)#第一层权重误差layer_1_delta *= dropout_maskweight_1_2 += alpha *layer_1.T.dot(layer_2_delta)#修改第一层权重l1d_reshape = layer_1_delta.reshape(kernel_output.shape)k_update = flattened_input.T.dot(l1d_reshape)kernels -= alpha*k_update#weight_0_1 += alpha *layer_0.T.dot(layer_1_delta)#修改第二层权重text_correct_cnt = 0#sys.stdout.write("\r"+"I:"+str(j)+"error"+str(error/float(len(images)))[0:5] + "correct"+str(correct/float(len(images))))#验证测试组的数字被预测出来的概率。 #for j in range(10): # if(j%10 == 0 or j == iterations-1): # error,correct = (0.0,0)for i in range(len(test_images)):layer_0 = test_images[i:i+1]layer_0 = layer_0.reshape(layer_0.shape[0],28,28)layer_0.shapesects = list()for row_start in range(layer_0.shape[1] - kernel_rows):for col_start in range(layer_0.shape[2] - kernel_cols):sect = get_image_section(layer_0,row_start,row_start+kernel_rows,col_start,col_start+kernel_cols)sects.append(sect) expanded_input = np.concatenate(sects,axis =1)es = expanded_input.shapeflattened_input = expanded_input.reshape(es[0]*es[1],-1)kernel_output = flattened_input.dot(kernels)layer_1 = tanh(kernel_output.reshape(es[0],-1))layer_2 = np.dot(layer_1,weight_1_2)#error += np.sum((test_lables[i:i+1]-layer_2)**2)text_correct_cnt += int(np.argmax(layer_2)==np.argmax(test_lables[i:i+1]))if(j % 1 == 0): print("\n"+"j"+str(j))sys.stdout.write("test-acc:"+str(text_correct_cnt/float(len(test_images))) + \"train-acc:"+str(correct_cnt/float(len(images))))print() #训练结果 ''' licheng:20j0 test-acc:0.0288train-acc:0.055j1 test-acc:0.0273train-acc:0.037j2 test-acc:0.028train-acc:0.037j3 test-acc:0.0292train-acc:0.04j4 test-acc:0.0339train-acc:0.046j5 test-acc:0.0478train-acc:0.068j6 test-acc:0.0758train-acc:0.083j7 test-acc:0.1316train-acc:0.096j8 test-acc:0.2138train-acc:0.127j9 test-acc:0.2942train-acc:0.148j10 test-acc:0.3563train-acc:0.181j11 test-acc:0.4023train-acc:0.209j12 test-acc:0.4359train-acc:0.238j13 test-acc:0.4472train-acc:0.286j14 test-acc:0.4389train-acc:0.274j15 test-acc:0.3951train-acc:0.257j16 test-acc:0.2222train-acc:0.243j17 test-acc:0.0613train-acc:0.112j18 test-acc:0.0266train-acc:0.035j19 test-acc:0.0127train-acc:0.026j20 test-acc:0.0133train-acc:0.022j21 test-acc:0.0185train-acc:0.038j22 test-acc:0.0363train-acc:0.038j23 test-acc:0.0929train-acc:0.067j24 test-acc:0.1994train-acc:0.081j25 test-acc:0.3085train-acc:0.154j26 test-acc:0.4275train-acc:0.204j27 test-acc:0.5324train-acc:0.256j28 test-acc:0.5917train-acc:0.305j29 test-acc:0.6323train-acc:0.341j30 test-acc:0.6607train-acc:0.426j31 test-acc:0.6815train-acc:0.439j32 test-acc:0.7048train-acc:0.462j33 test-acc:0.717train-acc:0.484j34 test-acc:0.7313train-acc:0.505j35 test-acc:0.7355train-acc:0.53j36 test-acc:0.7417train-acc:0.548j37 test-acc:0.747train-acc:0.534j38 test-acc:0.7492train-acc:0.55j39 test-acc:0.7459train-acc:0.562j40 test-acc:0.7352train-acc:0.54j41 test-acc:0.708train-acc:0.496j42 test-acc:0.6486train-acc:0.456j43 test-acc:0.5212train-acc:0.353j44 test-acc:0.3312train-acc:0.234j45 test-acc:0.2055train-acc:0.174j46 test-acc:0.2162train-acc:0.136j47 test-acc:0.2694train-acc:0.171j48 test-acc:0.3255train-acc:0.172j49 test-acc:0.361train-acc:0.186j50 test-acc:0.4221train-acc:0.21j51 test-acc:0.5172train-acc:0.223j52 test-acc:0.6008train-acc:0.262j53 test-acc:0.6478train-acc:0.308j54 test-acc:0.6763train-acc:0.363j55 test-acc:0.696train-acc:0.402j56 test-acc:0.7079train-acc:0.434j57 test-acc:0.7209train-acc:0.441j58 test-acc:0.7304train-acc:0.475j59 test-acc:0.7358train-acc:0.475j60 test-acc:0.7405train-acc:0.525j61 test-acc:0.7499train-acc:0.517j62 test-acc:0.7534train-acc:0.517j63 test-acc:0.7608train-acc:0.538j64 test-acc:0.7646train-acc:0.554j65 test-acc:0.7726train-acc:0.57j66 test-acc:0.779train-acc:0.586j67 test-acc:0.7854train-acc:0.595j68 test-acc:0.7853train-acc:0.591j69 test-acc:0.7927train-acc:0.605j70 test-acc:0.7975train-acc:0.64j71 test-acc:0.8013train-acc:0.621j72 test-acc:0.8028train-acc:0.626j73 test-acc:0.8095train-acc:0.631j74 test-acc:0.8099train-acc:0.638j75 test-acc:0.8157train-acc:0.661j76 test-acc:0.8155train-acc:0.639j77 test-acc:0.8183train-acc:0.65j78 test-acc:0.8217train-acc:0.67j79 test-acc:0.8247train-acc:0.675j80 test-acc:0.8237train-acc:0.666j81 test-acc:0.8269train-acc:0.673j82 test-acc:0.8273train-acc:0.704j83 test-acc:0.8313train-acc:0.674j84 test-acc:0.8293train-acc:0.686j85 test-acc:0.8333train-acc:0.699j86 test-acc:0.8358train-acc:0.694j87 test-acc:0.8375train-acc:0.704j88 test-acc:0.837train-acc:0.697j89 test-acc:0.8398train-acc:0.704j90 test-acc:0.8396train-acc:0.687j91 test-acc:0.8436train-acc:0.705j92 test-acc:0.8436train-acc:0.711j93 test-acc:0.8447train-acc:0.721j94 test-acc:0.845train-acc:0.719j95 test-acc:0.8471train-acc:0.724j96 test-acc:0.8478train-acc:0.726j97 test-acc:0.848train-acc:0.718j98 test-acc:0.8495train-acc:0.719j99 test-acc:0.85train-acc:0.73j100 test-acc:0.8513train-acc:0.737j101 test-acc:0.8504train-acc:0.73j102 test-acc:0.8506train-acc:0.717j103 test-acc:0.8528train-acc:0.74j104 test-acc:0.8531train-acc:0.733j105 test-acc:0.8538train-acc:0.73j106 test-acc:0.8568train-acc:0.721j107 test-acc:0.857train-acc:0.75j108 test-acc:0.8558train-acc:0.731j109 test-acc:0.8578train-acc:0.744j110 test-acc:0.8589train-acc:0.754j111 test-acc:0.8578train-acc:0.732j112 test-acc:0.8583train-acc:0.747j113 test-acc:0.859train-acc:0.747j114 test-acc:0.8597train-acc:0.751j115 test-acc:0.8602train-acc:0.74j116 test-acc:0.8601train-acc:0.753j117 test-acc:0.8588train-acc:0.746j118 test-acc:0.8611train-acc:0.741j119 test-acc:0.8616train-acc:0.731j120 test-acc:0.8632train-acc:0.753j121 test-acc:0.8611train-acc:0.743j122 test-acc:0.8629train-acc:0.752j123 test-acc:0.8647train-acc:0.76j124 test-acc:0.8651train-acc:0.766j125 test-acc:0.8659train-acc:0.752j126 test-acc:0.868train-acc:0.756j127 test-acc:0.8649train-acc:0.767j128 test-acc:0.8661train-acc:0.747j129 test-acc:0.8669train-acc:0.753j130 test-acc:0.8695train-acc:0.753j131 test-acc:0.8691train-acc:0.76j132 test-acc:0.866train-acc:0.756j133 test-acc:0.8668train-acc:0.769j134 test-acc:0.8691train-acc:0.77j135 test-acc:0.8681train-acc:0.757j136 test-acc:0.8702train-acc:0.77j137 test-acc:0.8705train-acc:0.77j138 test-acc:0.8685train-acc:0.768j139 test-acc:0.8664train-acc:0.774j140 test-acc:0.8668train-acc:0.756j141 test-acc:0.8704train-acc:0.783j142 test-acc:0.8702train-acc:0.775j143 test-acc:0.8728train-acc:0.769j144 test-acc:0.8725train-acc:0.776j145 test-acc:0.8721train-acc:0.772j146 test-acc:0.8717train-acc:0.765j147 test-acc:0.8747train-acc:0.777j148 test-acc:0.8746train-acc:0.77j149 test-acc:0.8735train-acc:0.778j150 test-acc:0.8733train-acc:0.785j151 test-acc:0.8732train-acc:0.76j152 test-acc:0.8724train-acc:0.779j153 test-acc:0.8755train-acc:0.772j154 test-acc:0.8728train-acc:0.773j155 test-acc:0.8755train-acc:0.784j156 test-acc:0.8731train-acc:0.774j157 test-acc:0.8743train-acc:0.782j158 test-acc:0.8762train-acc:0.772j159 test-acc:0.8755train-acc:0.79j160 test-acc:0.8751train-acc:0.774j161 test-acc:0.8749train-acc:0.782j162 test-acc:0.8744train-acc:0.78j163 test-acc:0.8766train-acc:0.782j164 test-acc:0.874train-acc:0.796j165 test-acc:0.8754train-acc:0.798j166 test-acc:0.8766train-acc:0.794j167 test-acc:0.8747train-acc:0.784j168 test-acc:0.8768train-acc:0.796j169 test-acc:0.8757train-acc:0.789j170 test-acc:0.8767train-acc:0.79j171 test-acc:0.8732train-acc:0.791j172 test-acc:0.8766train-acc:0.797j173 test-acc:0.8773train-acc:0.789j174 test-acc:0.8778train-acc:0.781j175 test-acc:0.8758train-acc:0.799j176 test-acc:0.8774train-acc:0.785j177 test-acc:0.8766train-acc:0.796j178 test-acc:0.8784train-acc:0.803j179 test-acc:0.8788train-acc:0.794j180 test-acc:0.8779train-acc:0.794j181 test-acc:0.8779train-acc:0.8j182 test-acc:0.8786train-acc:0.791j183 test-acc:0.8778train-acc:0.787j184 test-acc:0.8768train-acc:0.781j185 test-acc:0.8765train-acc:0.786j186 test-acc:0.8764train-acc:0.793j187 test-acc:0.8788train-acc:0.796j188 test-acc:0.8792train-acc:0.789j189 test-acc:0.8764train-acc:0.79j190 test-acc:0.8774train-acc:0.787j191 test-acc:0.8766train-acc:0.782j192 test-acc:0.8802train-acc:0.798j193 test-acc:0.8783train-acc:0.789j194 test-acc:0.8797train-acc:0.785j195 test-acc:0.8792train-acc:0.807j196 test-acc:0.878train-acc:0.796j197 test-acc:0.8785train-acc:0.801j198 test-acc:0.8777train-acc:0.81j199 test-acc:0.8772train-acc:0.784j200 test-acc:0.8777train-acc:0.792j201 test-acc:0.8784train-acc:0.794j202 test-acc:0.8788train-acc:0.795j203 test-acc:0.8802train-acc:0.781j204 test-acc:0.8798train-acc:0.804j205 test-acc:0.878train-acc:0.779j206 test-acc:0.8788train-acc:0.792j207 test-acc:0.8763train-acc:0.793j208 test-acc:0.8794train-acc:0.792j209 test-acc:0.8798train-acc:0.803j210 test-acc:0.8788train-acc:0.804j211 test-acc:0.8792train-acc:0.797j212 test-acc:0.8764train-acc:0.791j213 test-acc:0.88train-acc:0.801j214 test-acc:0.8812train-acc:0.799j215 test-acc:0.8806train-acc:0.79j216 test-acc:0.88train-acc:0.8j217 test-acc:0.8804train-acc:0.802j218 test-acc:0.8786train-acc:0.807j219 test-acc:0.8819train-acc:0.797j220 test-acc:0.8795train-acc:0.799j221 test-acc:0.8789train-acc:0.815j222 test-acc:0.879train-acc:0.816 j223 test-acc:0.8793train-acc:0.809 j224 test-acc:0.8814train-acc:0.795 j225 test-acc:0.8796train-acc:0.799 j226 test-acc:0.8805train-acc:0.806 j227 test-acc:0.8803train-acc:0.808 j228 test-acc:0.8782train-acc:0.801 j229 test-acc:0.8803train-acc:0.814j230 test-acc:0.8808train-acc:0.8j231 test-acc:0.8808train-acc:0.798j232 test-acc:0.8808train-acc:0.82j233 test-acc:0.8794train-acc:0.794j234 test-acc:0.8809train-acc:0.806j235 test-acc:0.8807train-acc:0.808j236 test-acc:0.8789train-acc:0.802j237 test-acc:0.8796train-acc:0.81j238 test-acc:0.8768train-acc:0.805j239 test-acc:0.8781train-acc:0.792j240 test-acc:0.8786train-acc:0.809j241 test-acc:0.8761train-acc:0.802j242 test-acc:0.8775train-acc:0.811j243 test-acc:0.8806train-acc:0.814j244 test-acc:0.8795train-acc:0.804j245 test-acc:0.8787train-acc:0.801j246 test-acc:0.8776train-acc:0.795j247 test-acc:0.8785train-acc:0.808j248 test-acc:0.8788train-acc:0.803j249 test-acc:0.8776train-acc:0.813j250 test-acc:0.879train-acc:0.808j251 test-acc:0.8788train-acc:0.803j252 test-acc:0.8791train-acc:0.812j253 test-acc:0.8793train-acc:0.804j254 test-acc:0.8779train-acc:0.815j255 test-acc:0.8798train-acc:0.811j256 test-acc:0.8798train-acc:0.806j257 test-acc:0.8801train-acc:0.803j258 test-acc:0.8779train-acc:0.795j259 test-acc:0.8799train-acc:0.803j260 test-acc:0.8801train-acc:0.805j261 test-acc:0.8788train-acc:0.807j262 test-acc:0.8786train-acc:0.804j263 test-acc:0.8792train-acc:0.806j264 test-acc:0.8779train-acc:0.796j265 test-acc:0.8785train-acc:0.821j266 test-acc:0.8794train-acc:0.81j267 test-acc:0.8784train-acc:0.816j268 test-acc:0.8777train-acc:0.812j269 test-acc:0.8792train-acc:0.812j270 test-acc:0.8779train-acc:0.813j271 test-acc:0.8782train-acc:0.82j272 test-acc:0.8791train-acc:0.821j273 test-acc:0.878train-acc:0.823j274 test-acc:0.8788train-acc:0.816j275 test-acc:0.8794train-acc:0.82j276 test-acc:0.8779train-acc:0.829j277 test-acc:0.8794train-acc:0.809j278 test-acc:0.8751train-acc:0.806j279 test-acc:0.8796train-acc:0.813j280 test-acc:0.88train-acc:0.816j281 test-acc:0.8797train-acc:0.819j282 test-acc:0.8805train-acc:0.809j283 test-acc:0.8804train-acc:0.811j284 test-acc:0.8779train-acc:0.808j285 test-acc:0.8818train-acc:0.82j286 test-acc:0.8791train-acc:0.822j287 test-acc:0.8792train-acc:0.817j288 test-acc:0.877train-acc:0.814j289 test-acc:0.8785train-acc:0.807j290 test-acc:0.8781train-acc:0.817j291 test-acc:0.8795train-acc:0.82j292 test-acc:0.8803train-acc:0.824j293 test-acc:0.8779train-acc:0.812j294 test-acc:0.8784train-acc:0.816j295 test-acc:0.8771train-acc:0.817j296 test-acc:0.877train-acc:0.826j297 test-acc:0.8775train-acc:0.816j298 test-acc:0.8774train-acc:0.804j299 test-acc:0.8775train-acc:0.814 '''
从运行结果上看,其实和我们上次的程序处理的差不多。
其实这么来看的话,我们就需要进行更多的优化。其实有很多人已经做过相关的优化程序。后面我们将会学习的时候,更加深入的去理解别的更好的算法。
相关文章:
25、深度学习-自学之路-卷积神经网络基于MNIST数据集的程序展示
import keras #添加Keraskuimport sys,numpy as np from keras.utils import np_utilsimport osfrom keras.datasets import mnist print("licheng:""20"\n) np.random.seed(1)(x_train,y_train),(x_test,y_test) mnist.load_data() #第一次…...

【C++】解锁<list>的正确姿势
> 🍃 本系列为初阶C的内容,如果感兴趣,欢迎订阅🚩 > 🎊个人主页:[小编的个人主页])小编的个人主页 > 🎀 🎉欢迎大家点赞👍收藏⭐文章 > ✌️ 🤞 …...
Qt中的事件
写一个 可以拖动的按钮 DraggablePushButton.h 头文件 #ifndef DRAGGABLEPUSHBUTTON_H #define DRAGGABLEPUSHBUTTON_H#include <QPushButton> #include <QMouseEvent>class DraggablePushButton : public QPushButton {Q_OBJECTpublic:explicit DraggablePushBu…...

变化检测相关论文可读list
一些用得上的: 遥感变化检测常见数据集https://github.com/rsdler/Remote-Sensing-Change-Detection-Dataset/ 代码解读:代码解读 | 极简代码遥感语义分割,结合GDAL从零实现,以U-Net和建筑物提取为例 NeurIPS2024: https://mp.w…...
Ansible中playbook的变量
变量 playbook的变量有以下几种 在playbook中用户自定义的变量远程主机中由Ansible收集的变量在文件模板中使用的上述两种变量把任务结果作为一个变量使用,叫注册变量用户在执行playbook时,通过命令行传入的变量,叫做额外变量 在playbook中…...

亚信安全正式接入DeepSeek
亚信安全致力于“数据驱动、AI原生”战略,早在2024年5月,推出了“信立方”安全大模型、安全MaaS平台和一系列安全智能体,为网络安全运营、网络安全检测提供AI技术能力。自2024年12月DeepSeek-V3发布以来,亚信安全人工智能实验室利…...

相似性图相关性重构网络用于无监督跨模态哈希
《Similarity Graph-correlation Reconstruction Network for unsupervised cross-modal hashing》 摘要1. 引言2. 相关工作2.1. 监督跨模态哈希方法2.2. 无监督跨模态哈希方法 3. 方法论3.1 问题定义3.2 特征提取3.3 模态内关系图构建3.4. 局部关系图重置3.5. 跨模态关系图构建…...
【Bug】属性 PackageVersion 应在所有目标框架中具有单个值,但却具有以下值
文章目录 问题问题代码原因解决处理Bug的具体步骤 问题 严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) NU1105 无法读取“x”的项目信息: 属性 PackageVersion 应在所有目标框架中具有单个值,但却具有以下值: 1.0.0, 1.0.5 x (net8.0-android), x (net8.…...

C++ Primer 类型转换
欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...

【CS61A 2024秋】Python入门课,全过程记录P7(Week13 Macros至完结)【完结撒花!】
文章目录 关于新的问题更好的解决方案Week13Mon Macros阅读材料Lab 11: Programs as Data, MacrosQ1: WWSD: QuasiquoteQ2: If ProgramQ3: Exponential PowersQ4: Repeat Wed SQL阅读材料Disc 11: MacrosQ1: Mystery MacroQ2: Multiple AssignmentQ3: Switch Optional Contest:…...

SSH隧道+Nginx:绿色通道详解(SSH Tunnel+nginx: Green Channel Detailed Explanation)
SSH隧道Nginx:内网资源访问的绿色通道 问题背景 模拟生产环境,使用两层Nginx做反向代理,请求公网IP来访问内网服务器的网站。通过ssh隧道反向代理来实现,重点分析一下nginx反代的基础配置。 实验环境 1、启动内网服务器的tomca…...

LabVIEW用户界面设计原则
在LabVIEW开发中,用户界面(UI)设计不仅仅是为了美观,它直接关系到用户的操作效率和体验。一个直观、简洁、易于使用的界面能够大大提升软件的可用性,尤其是在复杂的实验或工业应用中。设计良好的UI能够减少操作错误&am…...

Datawhale 数学建模导论二 2025年2月
第6章 数据处理与拟合模型 本章主要涉及到的知识点有: 数据与大数据Python数据预处理常见的统计分析模型随机过程与随机模拟数据可视化 本章内容涉及到基础的概率论与数理统计理论,如果对这部分内容不熟悉,可以参考相关概率论与数理统计的…...
SQL CASE表达式的用法
SQL CASE表达式的用法 一、CASE表达式的基础语法简单CASE表达式搜索CASE表达式 二、简单CASE表达式的应用示例三、搜索CASE表达式的应用示例四、CASE表达式在聚合函数中的应用五、嵌套CASE表达式的应用 今天在也无力用到了CASE表达式,于是有了这篇博客,C…...

趣味魔法项目 LinuxPDF —— 在 PDF 中启动一个 Linux 操作系统
最近,一位开源爱好者开发了一个LinuxPDF 项目(ading2210/linuxpdf: Linux running inside a PDF file via a RISC-V emulator),它的核心功能是在一个 PDF 文件中启动并运行 Linux 操作系统。它通过巧妙地使用 PDF 文件格式中的 Ja…...

win32汇编环境,窗口程序使用跟踪条(滑块)控件示例一
;运行效果 ;win32汇编环境,窗口程序使用跟踪条(滑块)控件示例一 ;生成2条横的跟踪条,分别设置不同的数值范围,设置不同的进度副度的例子 ;直接抄进RadAsm可编译运行。重要部分加备注。 ;下面为asm文件 ;>>>>>>>>>>>>>>>>>…...

mars3d接入到uniapp的时候ios上所有地图的瓦片都无法加载解决方案
用的是【Mars3d】官网的uniapp的仓库,安卓没有问题,但是ios的不行 相关链接 mars3d-uni-app: uni-app技术栈下的Mars3D项目模板 解决方案:感觉所有图片请求全被拦截了 uniapp的ios内核不允许跨域,需要先把瓦片下载后转base64&…...

使用 Notepad++ 编辑显示 MarkDown
Notepad 是一款免费的开源文本编辑器,专为 Windows 用户设计。它是替代记事本(Notepad)的最佳选择之一,因为它功能强大且轻量级。Notepad 支持多种编程语言和文件格式,并可以通过插件扩展其功能。 Notepad 是一款功能…...
wordpress主题制作
工具/原料 <P><BR>使用divcss语言编写的html静态页面一个</P> <P>Macromedia Dreamweaver软件<BR></P> WordPress主题结构分析 1 1、index.php首页模板(最基本) ---- 1、header.php头部 ---- 2、sidebar.php侧边…...

MybatisPlus常用增删改查
记录下MybatisPlus的简单的增删改查 接口概述 Service和Mapper区别 Mapper简化了单表的sql操作步骤(CRUD),而Serivce则是对Mapper的功能增强。 Service虽然加入了数据库的操作,但还是以业务功能为主,而更加复杂的SQL…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...