Nginx 常見面試題

一、nginx常見錯誤及處理方法

1.1 404 bad request

一般原因:請求的Header過大

解決辦法:

配置nginx.conf 相關設置1. `client_header_buffer_size 16k;`
2. `large_client_header_buffers 4 64k;`

1.2 413 Request Entity Too Large

一般原因:一般出現在上傳文件

解決方法:

配置nginx.conf 相關設置1. `client_max_body_size 10m;`

1.3 499 Client Closed Request

一般原因:客戶端在等到服務器相應返回前就關閉了客戶端描述符。一般出現在客戶端設置超時后,主動關閉socket。

解決方法:根據實際nginx后端服務器的處理時間修改客戶端超時時間。

1.4 500 Internal Server Error

一般原因:配置文件有錯誤;訪問量過大,系統資源限制,不能打開過多文件;磁盤空間不足。(access log開啟可能導致磁盤滿溢 關閉)

解決方法:

語法錯誤查看nginx_err_log。文件訪問量:1.修改nginx配置文件worker_rlimit_nofile 65535;2.修改 /etc/security/limits.conf* soft nofile 65535* hard nofile 65535

1.5 502 Bad Gateway、503 Serveice Unavailable

一般原因:后端服務無法處理、業務中斷。

解決方法:從后端日志獲取錯誤原因,解決后端服務器問題

1.6 504 Gateway Timeout

一般原因:后端服務器在超時時間內,未響應nginx代理請求

解決方法:

根據后端服務器實際處理情況,調整后端請求超時時間
proxy_read_timeout 90;
proxy_send_timeout 90;

一般原因:可能網站頁面緩存大,而fastcgi 默認進程響應緩存區8k

解決方法:

配置nginx.conf相關設置
fastcgi_buffers 8 128k
send_timeout 60;

二、nginx配置文件詳解

  1 ######Nginx配置文件nginx.conf中文詳解#####2 3 #定義Nginx運行的用戶和用戶組4 user www www;5 6 #nginx進程數,建議設置為等于CPU總核心數。7 worker_processes 8;8  9 #全局錯誤日志定義類型,[ debug | info | notice | warn | error | crit ]10 error_log /usr/local/nginx/logs/error.log info;11 12 #進程pid文件13 pid /usr/local/nginx/logs/nginx.pid;14 15 #指定進程可以打開的最大描述符:數目16 #工作模式與連接數上限17 #這個指令是指當一個nginx進程打開的最多文件描述符數目,理論值應該是最多打開文件數(ulimit -n)與nginx進程數相除,但是nginx分配請求并不是那么均勻,所以最好與ulimit -n 的值保持一致。18 #現在在linux 2.6內核下開啟文件打開數為65535,worker_rlimit_nofile就相應應該填寫65535。19 #這是因為nginx調度時分配請求到進程并不是那么的均衡,所以假如填寫10240,總并發量達到3-4萬時就有進程可能超過10240了,這時會返回502錯誤。20 worker_rlimit_nofile 65535;21 22 23 events24 {25     #參考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型26     #是Linux 2.6以上版本內核中的高性能網絡I/O模型,linux建議epoll,如果跑在FreeBSD上面,就用kqueue模型。27     #補充說明:28     #與apache相類,nginx針對不同的操作系統,有不同的事件模型29     #A)標準事件模型30     #Select、poll屬于標準事件模型,如果當前系統不存在更有效的方法,nginx會選擇select或poll31     #B)高效事件模型32     #Kqueue:使用于FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 和 MacOS X.使用雙處理器的MacOS X系統使用kqueue可能會造成內核崩潰。33     #Epoll:使用于Linux內核2.6版本及以后的系統。34     #/dev/poll:使用于Solaris 7 11/99+,HP/UX 11.22+ (eventport),IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+。35     #Eventport:使用于Solaris 10。 為了防止出現內核崩潰的問題, 有必要安裝安全補丁。36     use epoll;37 38     #單個進程最大連接數(最大連接數=連接數*進程數)39     #根據硬件調整,和前面工作進程配合起來用,盡量大,但是別把cpu跑到100%就行。每個進程允許的最多連接數,理論上每臺nginx服務器的最大連接數為。40     worker_connections 65535;41 42     #keepalive超時時間。43     keepalive_timeout 60;44 45     #客戶端請求頭部的緩沖區大小。這個可以根據你的系統分頁大小來設置,一般一個請求頭的大小不會超過1k,不過由于一般系統分頁都要大于1k,所以這里設置為分頁大小。46     #分頁大小可以用命令getconf PAGESIZE 取得。47     #[root@web001 ~]# getconf PAGESIZE48     #409649     #但也有client_header_buffer_size超過4k的情況,但是client_header_buffer_size該值必須設置為“系統分頁大小”的整倍數。50     client_header_buffer_size 4k;51 52     #這個將為打開文件指定緩存,默認是沒有啟用的,max指定緩存數量,建議和打開文件數一致,inactive是指經過多長時間文件沒被請求后刪除緩存。53     open_file_cache max=65535 inactive=60s;54 55     #這個是指多長時間檢查一次緩存的有效信息。56     #語法:open_file_cache_valid time 默認值:open_file_cache_valid 60 使用字段:http, server, location 這個指令指定了何時需要檢查open_file_cache中緩存項目的有效信息.57     open_file_cache_valid 80s;58 59     #open_file_cache指令中的inactive參數時間內文件的最少使用次數,如果超過這個數字,文件描述符一直是在緩存中打開的,如上例,如果有一個文件在inactive時間內一次沒被使用,它將被移除。60     #語法:open_file_cache_min_uses number 默認值:open_file_cache_min_uses 1 使用字段:http, server, location  這個指令指定了在open_file_cache指令無效的參數中一定的時間范圍內可以使用的最小文件數,如果使用更大的值,文件描述符在cache中總是打開狀態.61     open_file_cache_min_uses 1;62     63     #語法:open_file_cache_errors on | off 默認值:open_file_cache_errors off 使用字段:http, server, location 這個指令指定是否在搜索一個文件是記錄cache錯誤.64     open_file_cache_errors on;65 }66  67  68  69 #設定http服務器,利用它的反向代理功能提供負載均衡支持70 http71 {72     #文件擴展名與文件類型映射表73     include mime.types;74 75     #默認文件類型76     default_type application/octet-stream;77 78     #默認編碼79     #charset utf-8;80 81     #服務器名字的hash表大小82     #保存服務器名字的hash表是由指令server_names_hash_max_size 和server_names_hash_bucket_size所控制的。參數hash bucket size總是等于hash表的大小,并且是一路處理器緩存大小的倍數。在減少了在內存中的存取次數后,使在處理器中加速查找hash表鍵值成為可能。如果hash bucket size等于一路處理器緩存的大小,那么在查找鍵的時候,最壞的情況下在內存中查找的次數為2。第一次是確定存儲單元的地址,第二次是在存儲單元中查找鍵 值。因此,如果Nginx給出需要增大hash max size 或 hash bucket size的提示,那么首要的是增大前一個參數的大小.83     server_names_hash_bucket_size 128;84 85     #客戶端請求頭部的緩沖區大小。這個可以根據你的系統分頁大小來設置,一般一個請求的頭部大小不會超過1k,不過由于一般系統分頁都要大于1k,所以這里設置為分頁大小。分頁大小可以用命令getconf PAGESIZE取得。86     client_header_buffer_size 32k;87 88     #客戶請求頭緩沖大小。nginx默認會用client_header_buffer_size這個buffer來讀取header值,如果header過大,它會使用large_client_header_buffers來讀取。89     large_client_header_buffers 4 64k;90 91     #設定通過nginx上傳文件的大小92     client_max_body_size 8m;93 94     #開啟高效文件傳輸模式,sendfile指令指定nginx是否調用sendfile函數來輸出文件,對于普通應用設為 on,如果用來進行下載等應用磁盤IO重負載應用,可設置為off,以平衡磁盤與網絡I/O處理速度,降低系統的負載。注意:如果圖片顯示不正常把這個改成off。95     #sendfile指令指定 nginx 是否調用sendfile 函數(zero copy 方式)來輸出文件,對于普通應用,必須設為on。如果用來進行下載等應用磁盤IO重負載應用,可設置為off,以平衡磁盤與網絡IO處理速度,降低系統uptime。96     sendfile on;97 98     #開啟目錄列表訪問,合適下載服務器,默認關閉。99     autoindex on;
100 
101     #此選項允許或禁止使用socke的TCP_CORK的選項,此選項僅在使用sendfile的時候使用
102     tcp_nopush on;
103      
104     tcp_nodelay on;
105 
106     #長連接超時時間,單位是秒
107     keepalive_timeout 120;
108 
109     #FastCGI相關參數是為了改善網站的性能:減少資源占用,提高訪問速度。下面參數看字面意思都能理解。
110     fastcgi_connect_timeout 300;
111     fastcgi_send_timeout 300;
112     fastcgi_read_timeout 300;
113     fastcgi_buffer_size 64k;
114     fastcgi_buffers 4 64k;
115     fastcgi_busy_buffers_size 128k;
116     fastcgi_temp_file_write_size 128k;
117 
118     #gzip模塊設置
119     gzip on; #開啟gzip壓縮輸出
120     gzip_min_length 1k;    #最小壓縮文件大小
121     gzip_buffers 4 16k;    #壓縮緩沖區
122     gzip_http_version 1.0;    #壓縮版本(默認1.1,前端如果是squid2.5請使用1.0)
123     gzip_comp_level 2;    #壓縮等級
124     gzip_types text/plain application/x-javascript text/css application/xml;    #壓縮類型,默認就已經包含textml,所以下面就不用再寫了,寫上去也不會有問題,但是會有一個warn。
125     gzip_vary on;
126 
127     #開啟限制IP連接數的時候需要使用
128     #limit_zone crawler $binary_remote_addr 10m;
129 
130 
131 
132     #負載均衡配置
133     upstream piao.jd.com {
134      
135         #upstream的負載均衡,weight是權重,可以根據機器配置定義權重。weigth參數表示權值,權值越高被分配到的幾率越大。
136         server 192.168.80.121:80 weight=3;
137         server 192.168.80.122:80 weight=2;
138         server 192.168.80.123:80 weight=3;
139 
140         #nginx的upstream目前支持4種方式的分配
141         #1、輪詢(默認)
142         #每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。
143         #2、weight
144         #指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。
145         #例如:
146         #upstream bakend {
147         #    server 192.168.0.14 weight=10;
148         #    server 192.168.0.15 weight=10;
149         #}
150         #2、ip_hash
151         #每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。
152         #例如:
153         #upstream bakend {
154         #    ip_hash;
155         #    server 192.168.0.14:88;
156         #    server 192.168.0.15:80;
157         #}
158         #3、fair(第三方)
159         #按后端服務器的響應時間來分配請求,響應時間短的優先分配。
160         #upstream backend {
161         #    server server1;
162         #    server server2;
163         #    fair;
164         #}
165         #4、url_hash(第三方)
166         #按訪問url的hash結果來分配請求,使每個url定向到同一個后端服務器,后端服務器為緩存時比較有效。
167         #例:在upstream中加入hash語句,server語句中不能寫入weight等其他的參數,hash_method是使用的hash算法
168         #upstream backend {
169         #    server squid1:3128;
170         #    server squid2:3128;
171         #    hash $request_uri;
172         #    hash_method crc32;
173         #}
174 
175         #tips:
176         #upstream bakend{#定義負載均衡設備的Ip及設備狀態}{
177         #    ip_hash;
178         #    server 127.0.0.1:9090 down;
179         #    server 127.0.0.1:8080 weight=2;
180         #    server 127.0.0.1:6060;
181         #    server 127.0.0.1:7070 backup;
182         #}
183         #在需要使用負載均衡的server中增加 proxy_pass http://bakend/;
184 
185         #每個設備的狀態設置為:
186         #1.down表示單前的server暫時不參與負載
187         #2.weight為weight越大,負載的權重就越大。
188         #3.max_fails:允許請求失敗的次數默認為1.當超過最大次數時,返回proxy_next_upstream模塊定義的錯誤
189         #4.fail_timeout:max_fails次失敗后,暫停的時間。
190         #5.backup: 其它所有的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕。
191 
192         #nginx支持同時設置多組的負載均衡,用來給不用的server來使用。
193         #client_body_in_file_only設置為On 可以講client post過來的數據記錄到文件中用來做debug
194         #client_body_temp_path設置記錄文件的目錄 可以設置最多3層目錄
195         #location對URL進行匹配.可以進行重定向或者進行新的代理 負載均衡
196     }
197      
198      
199      
200     #虛擬主機的配置
201     server
202     {
203         #監聽端口
204         listen 80;
205 
206         #域名可以有多個,用空格隔開
207         server_name www.jd.com jd.com;
208         index index.html index.htm index.php;
209         root /data/www/jd;
210 
211         #對******進行負載均衡
212         location ~ .*.(php|php5)?$
213         {
214             fastcgi_pass 127.0.0.1:9000;
215             fastcgi_index index.php;
216             include fastcgi.conf;
217         }
218          
219         #圖片緩存時間設置
220         location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
221         {
222             expires 10d;
223         }
224          
225         #JS和CSS緩存時間設置
226         location ~ .*.(js|css)?$
227         {
228             expires 1h;
229         }
230          
231         #日志格式設定
232         #$remote_addr與$http_x_forwarded_for用以記錄客戶端的ip地址;
233         #$remote_user:用來記錄客戶端用戶名稱;
234         #$time_local: 用來記錄訪問時間與時區;
235         #$request: 用來記錄請求的url與http協議;
236         #$status: 用來記錄請求狀態;成功是200,
237         #$body_bytes_sent :記錄發送給客戶端文件主體內容大小;
238         #$http_referer:用來記錄從那個頁面鏈接訪問過來的;
239         #$http_user_agent:記錄客戶瀏覽器的相關信息;
240         #通常web服務器放在反向代理的后面,這樣就不能獲取到客戶的IP地址了,通過$remote_add拿到的IP地址是反向代理服務器的iP地址。反向代理服務器在轉發請求的http頭信息中,可以增加x_forwarded_for信息,用以記錄原有客戶端的IP地址和原來客戶端的請求的服務器地址。
241         log_format access '$remote_addr - $remote_user [$time_local] "$request" '
242         '$status $body_bytes_sent "$http_referer" '
243         '"$http_user_agent" $http_x_forwarded_for';
244          
245         #定義本虛擬主機的訪問日志
246         access_log  /usr/local/nginx/logs/host.access.log  main;
247         access_log  /usr/local/nginx/logs/host.access.404.log  log404;
248          
249         #對 "/" 啟用反向代理
250         location / {
251             proxy_pass http://127.0.0.1:88;
252             proxy_redirect off;
253             proxy_set_header X-Real-IP $remote_addr;
254              
255             #后端的Web服務器可以通過X-Forwarded-For獲取用戶真實IP
256             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
257              
258             #以下是一些反向代理的配置,可選。
259             proxy_set_header Host $host;
260 
261             #允許客戶端請求的最大單文件字節數
262             client_max_body_size 10m;
263 
264             #緩沖區代理緩沖用戶端請求的最大字節數,
265             #如果把它設置為比較大的數值,例如256k,那么,無論使用firefox還是IE瀏覽器,來提交任意小于256k的圖片,都很正常。如果注釋該指令,使用默認的client_body_buffer_size設置,也就是操作系統頁面大小的兩倍,8k或者16k,問題就出現了。
266             #無論使用firefox4.0還是IE8.0,提交一個比較大,200k左右的圖片,都返回500 Internal Server Error錯誤
267             client_body_buffer_size 128k;
268 
269             #表示使nginx阻止HTTP應答代碼為400或者更高的應答。
270             proxy_intercept_errors on;
271 
272             #后端服務器連接的超時時間_發起握手等候響應超時時間
273             #nginx跟后端服務器連接超時時間(代理連接超時)
274             proxy_connect_timeout 90;
275 
276             #后端服務器數據回傳時間(代理發送超時)
277             #后端服務器數據回傳時間_就是在規定時間之內后端服務器必須傳完所有的數據
278             proxy_send_timeout 90;
279 
280             #連接成功后,后端服務器響應時間(代理接收超時)
281             #連接成功后_等候后端服務器響應時間_其實已經進入后端的排隊之中等候處理(也可以說是后端服務器處理請求的時間)
282             proxy_read_timeout 90;
283 
284             #設置代理服務器(nginx)保存用戶頭信息的緩沖區大小
285             #設置從被代理服務器讀取的第一部分應答的緩沖區大小,通常情況下這部分應答中包含一個小的應答頭,默認情況下這個值的大小為指令proxy_buffers中指定的一個緩沖區的大小,不過可以將其設置為更小
286             proxy_buffer_size 4k;
287 
288             #proxy_buffers緩沖區,網頁平均在32k以下的設置
289             #設置用于讀取應答(來自被代理服務器)的緩沖區數目和大小,默認情況也為分頁大小,根據操作系統的不同可能是4k或者8k
290             proxy_buffers 4 32k;
291 
292             #高負荷下緩沖大小(proxy_buffers*2)
293             proxy_busy_buffers_size 64k;
294 
295             #設置在寫入proxy_temp_path時數據的大小,預防一個工作進程在傳遞文件時阻塞太長
296             #設定緩存文件夾大小,大于這個值,將從upstream服務器傳
297             proxy_temp_file_write_size 64k;
298         }
299          
300          
301         #設定查看Nginx狀態的地址
302         location /NginxStatus {
303             stub_status on;
304             access_log on;
305             auth_basic "NginxStatus";
306             auth_basic_user_file confpasswd;
307             #htpasswd文件的內容可以用apache提供的htpasswd工具來產生。
308         }
309          
310         #本地動靜分離反向代理配置
311         #所有jsp的頁面均交由tomcat或resin處理
312         location ~ .(jsp|jspx|do)?$ {
313             proxy_set_header Host $host;
314             proxy_set_header X-Real-IP $remote_addr;
315             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
316             proxy_pass http://127.0.0.1:8080;
317         }
318          
319         #所有靜態文件由nginx直接讀取不經過tomcat或resin
320         location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|
321         pdf|xls|mp3|wma)$
322         {
323             expires 15d; 
324         }
325          
326         location ~ .*.(js|css)?$
327         {
328             expires 1h;
329         }
330     }
331 }

三、HTTP相應碼

1XX代表提示信息;2XX代表成功信息;3XX代表重定向信息;4XX代表客戶端錯誤信息;5XX代表服務器錯誤信息

狀態碼含義
200 OK請求已成功,通常用于GET和POST請求。
201 Created請求已成功并且服務器創建了新的資源。
204 No Content請求已成功處理,但沒有內容返回。
400 Bad Request服務器無法處理請求,通常是因為客戶端發送的請求格式錯誤。
401 Unauthorized請求需要用戶驗證。
403 Forbidden服務器理解請求但拒絕執行。
404 Not Found服務器無法找到請求的資源。
405 Method Not Allowed請求行中指定的請求方法不能被用于請求相應的資源。
409 Conflict通常表示請求中的數據與服務器的當前狀態發生沖突。
422 Unprocessable Entity服務器理解請求實體的內容類型,并且內容格式正確,但是無法處理所包含的指令。
500 Internal Server Error服務器遇到了意料之外的情況,不能完成請求。
502 Bad Gateway作為網關或者代理工作的服務器從上游服務器接收到無效的響應。
503 Service Unavailable服務器暫時無法處理請求,可能是因為超載或維護。
504 Gateway Timeout作為網關或代理工作的服務器沒有在允許的時間內從上游服務器收到請求。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/77089.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/77089.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/77089.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LeetCode 每日一題 2025/3/31-2025/4/6

記錄了初步解題思路 以及本地實現代碼;并不一定為最優 也希望大家能一起探討 一起進步 目錄 3/31 2278. 字母在字符串中的百分比4/1 2140. 解決智力問題4/2 2873. 有序三元組中的最大值 I4/3 2874. 有序三元組中的最大值 II4/4 1123. 最深葉節點的最近公共祖先4/5 1…

Docker Compose 常用命令 運行 docker-compose.yaml

Docker Compose 中有兩個重要的概念 服務 (service):一個應用的容器,實際上可以包括若干運行相同鏡像的容器實例。 項目 (project):由一組關聯的應用容器組成的一個完整業務單元,在 docker-compose.yml 文件中定義。 為了更方便…

深度學習中的 Batch 機制:從理論到實踐的全方位解析

一、Batch 的起源與核心概念 1.1 批量的中文譯名解析 Batch 在深度學習領域標準翻譯為"批量"或"批次",指代一次性輸入神經網絡進行處理的樣本集合。這一概念源自統計學中的批量處理思想,在計算機視覺先驅者Yann LeCun于1989年提出…

Unity Internal-ScreenSpaceShadows 分析

一、代碼結構 // Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)Shader "Hidden/Internal-ScreenSpaceShadows" {Properties {_ShadowMapTexture ("", any) "" {} // 陰影貼圖紋理&…

Token+JWT+Redis 實現鑒權機制

TokenJWTRedis 實現鑒權機制 使用 Token、JWT 和 Redis 來實現鑒權機制是一種常見的做法,尤其適用于分布式應用或微服務架構。下面是一個大致的實現思路: 1. Token 和 JWT 概述 Token:通常是一個唯一的字符串,可以用來標識用戶…

RPC與其他通信技術的區別,以及RPC的底層原理

1、什么是 RPC? 遠程過程調用(RPC) 是一種協議,它允許程序在不同計算機之間進行通信,讓開發者可以像調用本地函數一樣發起遠程請求。 通過 RPC,開發者無需關注底層網絡細節,能夠更專注于業務邏…

簡潔的 PlantUML 入門教程

評論中太多朋友在問,我的文章中圖例如何完成的。 我一直用plantUML,也推薦大家用,下面給出一個簡潔的PlantUML教程。 🌱 什么是 PlantUML? PlantUML 是一個用純文本語言畫圖的工具,支持流程圖、時序圖、用例圖、類圖、…

互聯網三高-高性能之JVM調優

1 運行時數據區 JVM運行時數據區是Java虛擬機管理的內存核心模塊,主要分為線程共享和線程私有兩部分。 (1)線程私有 ① 程序計數器:存儲當前線程執行字節碼指令的地址,用于分支、循環、異常處理等流程控制? ② 虛擬機…

淺談StarRocks 常見問題解析

StarRocks數據庫作為高性能分布式分析數據庫,其常見問題及解決方案涵蓋環境部署、數據操作、系統穩定性、安全管控及生態集成五大核心領域,需確保Linux系統環境、依賴庫及環境變量配置嚴格符合官方要求以避免節點啟動失敗,數據導入需遵循格式…

P1332 血色先鋒隊(BFS)

題目背景 巫妖王的天災軍團終于卷土重來,血色十字軍組織了一支先鋒軍前往諾森德大陸對抗天災軍團,以及一切沾有亡靈氣息的生物。孤立于聯盟和部落的血色先鋒軍很快就遭到了天災軍團的重重包圍,現在他們將主力只好聚集了起來,以抵…

大文件上傳之斷點續傳實現方案與原理詳解

一、實現原理 文件分塊:將大文件切割為固定大小的塊(如5MB) 進度記錄:持久化存儲已上傳分塊信息 續傳能力:上傳中斷后根據記錄繼續上傳未完成塊 塊校驗機制:通過哈希值驗證塊完整性 合并策略:所…

【動手學深度學習】卷積神經網絡(CNN)入門

【動手學深度學習】卷積神經網絡(CNN)入門 1,卷積神經網絡簡介2,卷積層2.1,互相關運算原理2.2,互相關運算實現2.3,實現卷積層 3,卷積層的簡單應用:邊緣檢測3.1&#xff0…

Opencv計算機視覺編程攻略-第十一節 三維重建

此處重點討論在特定條件下,重建場景的三維結構和相機的三維姿態的一些應用實現。下面是完整投影公式最通用的表示方式。 在上述公式中,可以了解到,真實物體轉為平面之后,s系數丟失了,因而無法會的三維坐標,…

大廠不再招測試?軟件測試左移開發合理嗎?

👉目錄 1 軟件測試發展史 2 測試左移(Testing shift left) 3 測試右移(Testing shift right) 4 自動化測試 VS 測試自動化 5 來自 EX 測試的寄語 最近兩年,互聯網大廠的招聘中,測試工程師崗位似…

windows10下PointNet官方代碼Pytorch實現

PointNet模型運行 1.下載源碼并安裝環境 GitCode - 全球開發者的開源社區,開源代碼托管平臺GitCode是面向全球開發者的開源社區,包括原創博客,開源代碼托管,代碼協作,項目管理等。與開發者社區互動,提升您的研發效率和質量。https://gitcode.com/gh_mirrors/po/pointnet.pyto…

git pull 和 git fetch

關于 git pull 和 git fetch 的區別 1. git fetch 作用:從遠程倉庫獲取最新的分支信息和提交記錄,但不會自動合并或修改當前工作目錄中的內容。特點: 它只是更新本地的遠程分支引用(例如 remotes/origin/suyuhan)&am…

前端開發中的單引號(‘ ‘)、雙引號( )和反引號( `)使用

前端開發中的單引號(’ )、雙引號(" ")和反引號( )使用 在前端開發中,單引號(’ )、雙引號(" ")和反引號( &…

程序化廣告行業(69/89):DMP與PCP系統核心功能剖析

程序化廣告行業(69/89):DMP與PCP系統核心功能剖析 在數字化營銷浪潮中,程序化廣告已成為企業精準觸達目標受眾的關鍵手段。作為行業探索者,我深知其中知識的繁雜與重要性。一直以來,都希望能和大家一同學習…

Amodal3R ,南洋理工推出的 3D 生成模型

Amodal3R 是一款先進的條件式 3D 生成模型,能夠從部分可見的 2D 物體圖像中推斷并重建完整的 3D 結構與外觀。該模型建立在基礎的 3D 生成模型 TRELLIS 之上,通過引入掩碼加權多頭交叉注意力機制與遮擋感知注意力層,利用遮擋先驗知識優化重建…

LLM面試題八

推薦算法工程師面試題 二分類的分類損失函數? 二分類的分類損失函數一般采用交叉熵(Cross Entropy)損失函數,即CE損失函數。二分類問題的CE損失函數可以寫成:其中,y是真實標簽,p是預測標簽,取值為0或1。 …