I am aware this is an old post, but I'll share what I did in case in becomes useful for others. I liked @m0nhawk's design (with \vdots) and @Alain Matthes' code, so I combined them. I also changed the activation to ReLU, but the code step function is still avilable.
It should be noted that I broke the size "scalability" from @Alain Matthes' code. Instead I use \resizebox to resize the figure.
\documentclass[tikz]{article}
\usepackage{tikz}
\tikzset{basic/.style={draw,fill=none,
text badly centered,minimum width=3em}}
\tikzset{input/.style={basic,circle,minimum width=3.5em}}
\tikzset{weights/.style={basic,rectangle,minimum width=2em}}
\tikzset{functions/.style={basic,circle, minimum width=4em}}
\newcommand{\addaxes}{\draw (0em,1em) -- (0em,-1em)
(-1em,0em) -- (1em,0em);}
\newcommand{\relu}{\draw[line width=1.5pt] (-1em,0) -- (0,0)
(0,0) -- (0.75em,0.75em);}
\newcommand{\stepfunc}{\draw[line width=1.5pt] (0.65em,0.65em) -- (0,0.65em)
-- (0,-0.65em) -- (-0.65em,-0.65em);}
\begin{document}
\begin{tikzpicture}[scale=1.2]
% Draw input nodes
\foreach \h [count=\hi ] in {$x_2$,$x_1$,$x_0=1$}{%
\node[input] (f\hi) at (0,\hi*1.25cm-1.5 cm) {\h};
}
% Dot dot dot ... x_n
\node[below=0.62cm] (idots) at (f1) {\vdots};
\node[input, below=0.62cm] (last_input) at (idots) {$x_n$};
% Draw summation node
\node[functions] (sum) at (4,0) {\Huge$\sum$};
\node[below=0.69cm] at (sum) {$\sum_{i=0}^n w_ix_i$};
% Draw edges from input nodes to summation node
\foreach \h [count=\hi ] in {$w_2$,$w_1$,$w_0$}{%
\path (f\hi) -- node[weights] (w\hi) {\h} (sum);
\draw[->] (f\hi) -- (w\hi);
\draw[->] (w\hi) -- (sum);
}
% Dot dot dot ... w_n
\node[below=0.05cm] (wdots) at (w1) {\vdots};
\node[weights, below=0.45cm] (last_weight) at (wdots) {$w_n$};
% Add edges for last node and last weight etc
\path[draw,->] (last_input) -- (last_weight);
\path[draw,->] (last_weight) -- (sum);
% Draw node for activation function
\node[functions] (activation) at (7,0) {};
% Place activation function in its node
\begin{scope}[xshift=7cm,scale=1.25]
\addaxes
% flexible selection of activation function
\relu
% \stepfunc
\end{scope}
% Connect sum to relu
\draw[->] (sum) -- (activation);
\draw[->] (activation) -- ++(1,0);
% Labels
\node[above=1cm] at (f3) {inputs};
\node[above=1cm] at (w3) {weights};
\node[above=1cm] at (activation) {activation function};
\end{tikzpicture}
\end{document}

\documentclass{...}
and ending with\end{document}
with your existing try-out (no matter how insufficient it is), everybody can jump in much easier.below
each other. Then the wights, and connect them to the circles, etc... Make an attempt and ask a specific question about what part you are having difficulty with.