text:
\section{Introduction}
During the past decade, the advances in Convolutional Neural Networks (CNNs) have successfully pushed the limits and improved the state-of-the-art technologies for image and video understanding \cite{he2015deep,hu2018squeeze,krizhevsky2012imagenet,simonyan2014very,qiu2017learning,carreira2017quo,tran2015learning,wang2018non,qiu2019learning,feichtenhofer2019slowfast,feichtenhofer2020x3d,qiu2021condensing,qiu2021boosting,li2021representing,qiu2017deep,yao2021seco,li2021motion}.
Besides achieving the top performances across tasks, the highly optimized implementation of convolution on various hardware makes CNNs continue to dominate computer vision research. Nevertheless, motivated by the success of attention model in Natural Language Processing (NLP) \cite{vaswani2017attention}, vision transformers \cite{dosovitskiy2020image,touvron2021training,huang2021shuffle,wang2021pyramid,liu2021swin,li2021contextual} become an alternative choice for image recognition by using multi-head self-attention (MSA) and multi-layer perceptrons (MLPs). More recently, the models solely with MLPs (i.e., MLP-like networks) without convolutions or self-attention layers are also shown able to perform well on ImageNet classification, and are more efficient for both training and inference \cite{yu2021s,chen2021cyclemlp,tolstikhin2021mlp,hou2021vision}.

\begin{figure}[!tb]
   \centering {\includegraphics[width=0.40\textwidth]{intro.pdf}}
   \vspace{-0.1in}
   \caption{\small A schematic diagram of MLP-3D block. The block originates from the MLP-mixer layer in \cite{tolstikhin2021mlp}, and decomposes the original token-mixing MLP into three sub-operations along height, width and time dimensions, respectively. For time dimension, the novel grouped time mixing operation is exploited.}
   \label{fig:intro}
   \vspace{-0.2in}
\end{figure}

Despite having these impressive progresses on image recognition, devising MLP-like architecture on video data is seldom studied and remains challenging. The video data is more complex due to large variations in motion and rich content in visual details. Capturing useful information from such information-intensive media requires exhaustive computing resources. This property inherently poses difficulties for developing MLP-like 3D architecture from two aspects: 1) how to capture the complex temporal dynamics in videos via MLP-like operations? 2) how to reduce the expensive computations for space-time modeling?

To address the issues, in this work, we start from the design of basic MLP-style operations to model temporal sequence, and next study how to construct an efficient MLP-like architecture on the utilization of these operations. To this end, we propose MLP-3D networks - a novel MLP-like 3D architecture to model spatio-temporal dependency in videos. In MLP-3D networks, an input video clip is divided into overlapped tubelets (i.e., sequences of associated frame patches across time), and each tubelet is mapped into a visual token through a tubelet embedding layer. These tokens are then fed into several stacked MLP-3D blocks, where each block abstracts inter-token information by token-mixing MLP and intra-token information by channel MLP, as shown in \Cref{fig:intro}. The channel MLP, which shares the similar structure as the feed-forward layer in transformer \cite{vaswani2017attention}, is applied to each token independently. The token-mixing MLP is the weighted summation of three sub-operations applied across different tokens along the height, width and time dimension, respectively. The sub-operations on the spatial dimensions (height and width) follow the recipe of Cycle Fully-Connected Layer (Cycle FC) in \cite{chen2021cyclemlp}. For the time dimension, we devise a novel Grouped Time Mixing (GTM) operation, i.e., a group-based token mixing operation across tokens at different time points. By only mixing the information within each group independently, the computational complexity and the number of parameters are effectively reduced. Furthermore, based on different grouping strategies, we derive four variants of GTM operations and compose each in different MLP-3D blocks by greedy architecture search.

The main contributions of this work are summarized as follows. First, GTM is a novel family of MLP-style operations to model temporal dynamics in an economic and effective way. Second, MLP-3D networks is a new MLP-like 3D architecture by utilizing GTM operations in the decomposed token-mixing MLP. Extensive experiments conducted on Something-Something and Kinetics datasets demonstrate that MLP-3D networks achieve superior or comparable performances to widely-used 3D CNNs (e.g., SlowFast networks\cite{feichtenhofer2019slowfast}) and computationally expensive video transformers (e.g., TimeSformer \cite{bertasius2021space}). Moreover, MLP-3D networks show a great potential in developing the MLP-like architecture for video understanding.

\section{Related Work}
We group the related works into two categories: deep neural networks for image recognition and video recognition. The first category reviews the research in network design for image classification, and the second surveys a variety of video recognition models.

\textbf{Image Recognition} has received intensive research attention particularly thanks to the success of CNNs in achieving remarkable performance on several benchmarks. Significant amount of efforts are devoted to optimize CNN architectures by hand-tuning \cite{krizhevsky2012imagenet,szegedy2015going,simonyan2014very,ioffe2015batch,he2015deep,xie2017aggregated,howard2017mobilenets,zhang2018shufflenet,hu2018squeeze}.
Later, to automate the design of CNN architectures with less manual intervention, researchers have presented various Network Architecture Search (NAS) approaches, including the proposals of reinforcement learning  \cite{zoph2017neural,liu2017progressive,pham2018efficient}, architecture evolution \cite{liu2018hierarchical,luo2018neural}, and differentiable architecture search \cite{liu2018darts,chen2019progressive,li2020sgas}.

Inspired by the recent advances of attention mechanism \cite{vaswani2017attention} in NLP domain, transformer has led to a series of breakthroughs in computer vision area. The pure transformer architectures \cite{liu2021swin,wang2021pyramid,huang2021shuffle,dosovitskiy2020image} and the combinations of convolutions and transformers \cite{srinivas2021bottleneck,li2021bossnas,wu2021cvt,touvron2021going,li2021contextual} become formidable competitors to CNNs. More recently, MLP-based models \cite{yu2021s,chen2021cyclemlp,tolstikhin2021mlp,hou2021vision} are built without convolutions or attention mechanisms. Instead, MLP layers are leveraged to aggregate the spatial context over patches.

The current defacto standard for \textbf{Video Recognition} is 3D CNNs with 3D convolutions across space and time dimensions. In one of the early works \cite{ji20133d}, a 3D CNN extending directly from image-based 2D CNN is devised to recognize actions in video clip via 3D convolution. Later, there have been several attempts to improve 3D CNNs. For example, C3D \cite{tran2015learning}, by stacking several 3D convolutions and 3D poolings, demonstrates a state-of-the-art pre-training model for video understanding at the time. I3D \cite{carreira2017quo}, which pre-trains an Inception-style network \cite{szegedy2015going} on large-scale dataset, enables the extremely high fine-tuning performances on small datasets. SlowFast networks \cite{feichtenhofer2019slowfast} builds a two-path architecture consisting of a slow path with high sampling rate and a fast path with low sampling rate. In parallel with these architecture design works, the model complexity of 3D CNNs has been reduced by 3D kernel decomposition \cite{qiu2017learning,tran2018closer,xie2018rethinking} and depth-wise 3D convolutions \cite{tran2019video,feichtenhofer2020x3d}. More recently, the transformer-based architectures become a new trend of convolution-free networks on video data \cite{bertasius2021space,arnab2021vivit,liu2021video,zhang2021vidtr,neimark2021video,zhang2021token,fan2021multiscale,patrick2021keeping}.

Our work also falls into the category of convolution-free architecture for video recognition. Unlike the transformers with attention mechanisms, the token interactions in MLP-3D networks are more efficiently accomplished by fully-connected layers. Moreover, MLP-3D networks expands the research horizons of MLP-like networks to video recognition, and uniquely studies the efficient way of temporal modeling in MLP-like architecture.

\begin{figure*}[tb]
   \centering {\includegraphics[width=0.92\textwidth]{framework.pdf}}
   \vspace{-0.1in}
   \caption{\small An overview of our proposed MLP-3D networks. $C_i$ and $L_i$ denotes the number of output channels and the repeated number of MLP-3D blocks in the $i$-th stage, respectively. The size of output feature map is also given for each block.}
   \label{fig:framework}
   \vspace{-0.2in}
\end{figure*}

\section{Our Method}
\subsection{Overall Architecture}
\Cref{fig:framework} depicts an overview of the proposed MLP-3D Networks. The basic architecture follows the philosophy of CNNs \cite{simonyan2014very,he2015deep}, where the channel dimension increases while the spatial resolution shrinks with the layer going deeper. The similar design is also exploited in hierarchical transformers \cite{liu2021swin,wang2021pyramid} and MLP-based models \cite{yu2021s,chen2021cyclemlp}.

\textbf{Tubelet embedding.} Given a video clip with the size of $H\times W\times T\times 3$, where $H$, $W$ and $T$ denotes the height, width and clip length, respectively, our models first embed the overlapped tubelets with window size $7\times 7\times 4$ and stride $4\times 4\times 4$. Each tubelet is mapped into a visual token with a higher dimension $C_{1}$ by using a shared linear embedding layer. As such, the overall tubelet embedding module produces the features with the shape of $\frac{H}{4}\times \frac{W}{4} \times \frac{T}{4}\times C_{1}$.

\textbf{Multi-stage architecture.} Then, the sequential MLP-3D blocks illustrated in \Cref{fig:framework} are applied to the tubelet tokens. The whole MLP-3D network includes four stages, and the feature resolution is maintained within each stage. A stage transition is inserted between two adjacent stages, which increases the number of channels and reduces the spatial resolution. In this way, the number of tokens from the last stage is $\frac{H}{32}\times \frac{W}{32}\times \frac{T}{4}$. The resultant tokens are finally averaged along the space and time dimensions, followed by a fully-connected layer for class prediction.

\subsection{MLP-3D Block}
The proposed MLP-3D block originates from the MLP-based block in MLP-Mixer \cite{tolstikhin2021mlp}, which replaces the multi-head self-attention module in transformer by a token-mixing MLP. In detail, MLP-based block consists of two components: channel-MLP and token-mixing MLP. \textbf{Channel-MLP} utilizes the similar structure of the feed-forward layer in transformer \cite{vaswani2017attention}, which contains two linear layers plus a GELU \cite{hendrycks2016gaussian} non-linearity in between. \textbf{Token-mixing MLP} mixes the information from tokens on different spatial/temporal positions, and characterizes the primary difference among various MLP-based models \cite{tolstikhin2021mlp,yu2021s,chen2021cyclemlp,hou2021vision}. Specifically, given the input tokens $\bm{X}$, the function of MLP-based block can be formulated as
\begin{equation}\label{eq:block}
\begin{aligned}
\bm{Y} &= \text{Token-mixing-MLP}(\text{LN}(\bm{X})) + \bm{X}, \\
\bm{Z} &= \text{Channel-MLP}(\text{LN}(\bm{Y})) + \bm{Y},
\end{aligned}
\end{equation}
where $\text{LN}$ denotes Layer Norm \cite{ba2016layer}. The output $\bm{Z}$ serves as the input to the next block until the last one.

\textbf{Decomposing token mixing.} The goal of token-mixing MLP is to capture spatial/temporal patterns by mixing the information of different tokens. Inspired by Vision Permutator \cite{hou2021vision}, MLP-3D block decomposes the token-mixing MLP and encodes the information along one axis at one time. By doing so, the token-mixing MLP can capture long-range dependencies along one dimension and meanwhile preserve precise positional information along the other dimensions. Different from \cite{hou2021vision} which decomposes the operation by height, width and channel dimensions for image recognition, MLP-3D block chooses the mixing along time axis instead of channel axis for video data. Such design shares the similar spirit as in 3D convolution decomposition \cite{qiu2017learning,xie2018rethinking,tran2018closer} and space-time divided attention \cite{bertasius2021space,arnab2021vivit}.

Concretely, the output of decomposed token mixing $\hat{\bm{Y}}$ is calculated by linearly projecting the summation of token mixing along three dimensions:
\begin{equation}\label{eq:decom}
\begin{aligned}
\hat{\bm{Y}} = \text{FC}(\bm{X}_{H}+\bm{X}_{W}+\bm{X}_{T}),
\end{aligned}
\end{equation}
where $\bm{X}_{H}$, $\bm{X}_{W}$ and $\bm{X}_{T}$ are the outputs of height, width and time mixing, respectively. $\text{FC}$ denotes a fully-connected layer. Here, we utilize the weighted summation proposed in \cite{hou2021vision} to aggregate the outputs of different mixing operations. For height/width mixing operation, we choose Cycle FC in \cite{chen2021cyclemlp}, which has been proven to be effective on capturing spatial context.

\subsection{Grouped Time Mixing (GTM)}
To further improve the efficiency of token-mixing MLP, we propose a novel Grouped Time Mixing (GTM) operation to produce $\bm{X}_{T}$ in \cref{eq:decom} by fusing the inter-token information in a grouped manner along time dimension.
Formally, we start by analyzing the simplest time mixing, which linearly maps the features of all tokens in different time points, called full time mixing. More specifically, given the reshaped input tokens as $\hat{\bm{X}}\in \mathbb{R}^{HW\times TC}$, the output of full time mixing is computed as
\begin{equation}\label{eq:time_mixing}
\begin{aligned}
\bm{X}_{T}=\hat{\bm{X}}\cdot \bm{W},
\end{aligned}
\end{equation}
where $\bm{W}\in \mathbb{R}^{TC\times TC}$ is the projection matrix. Although the operation can capture large-range dependency along the time axis, it demands geometrical progression of computational complexity $\mathcal{O}(HWT^{2}C^{2})$ and the number of parameters $\mathcal{O}(T^{2}C^{2})$ with the increase of clip length $T$.

To alleviate this limitation, we devise the Grouped Time Mixing operation, which divides the input tokens into several temporal groups and maps the tokens in each group with the shared projection parameters. As such, the computational complexity and the number of parameters are reduced because the group size is usually much smaller than the clip length. To materialize this idea, we derive four different GTM operations as depicted in \Cref{fig:gtm}, which correspond to different constructions of token groups. We detail the comparisons on the operations as follows:

\begin{figure}[!tb]
   \centering {\includegraphics[width=0.42\textwidth]{gtm.pdf}}
   \vspace{-0.1in}
   \caption{\small The illustration of four Grouped Time Mixing (GTM) operations. Each rectangle represents the input ($\bm{x}_{i}$) or output ($\bm{y}_{i}$) tokens at time point $i$. The group size is set to 2 as an example.}
   \label{fig:gtm}
   \vspace{-0.2in}
\end{figure}

\textbf{(1) Short-range GTM.} The first design evenly separates the tokens into $\frac{T}{S}$ groups, where $S$ is the group size (i.e., the number of tokens in each group). For each group, the consecutive $S$ tokens are linearly mapped by a shared matrix $\bm{W}_{S}\in \mathbb{R}^{SC\times SC}$. In other words, the short-range GTM is equivalent to making the matrix $\bm{W}$ in \cref{eq:time_mixing} be sparse:
\begin{equation}\label{eq:short_range}
\small
\begin{aligned}
\bm{W}=\begin{bmatrix}
\bm{W}_{S} & 0 & \cdots & 0 \\
0 & \bm{W}_{S} & \cdots & 0\\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \cdots & \bm{W}_{S}
\end{bmatrix},
\end{aligned}
\end{equation}
in which only the values in the diagonal blocks are non-zero. As a result, the computational cost and the number of parameters is reduced to $\mathcal{O}(HWTSC^{2})$ and $\mathcal{O}(S^{2}C^{2})$, respectively. This operation is ideally similar to the window-based self-attention \cite{huang2021shuffle,liu2021swin} but remould for time mixing.

\textbf{(2) Long-range GTM.} The second design extends the first one by having an interval of $\frac{T}{S}$ time step between two consecutive tokens in each group. Such group captures long-term dependency in a video while disregarding the local patterns across adjacent frames, which is complementary to short-range GTM. The long-range GTM can be simply implemented by reordering the tokens before and after short-range GTM as shown in \Cref{fig:gtm}(b).

\textbf{(3) Shift-window GTM.} The third design is a complementary operation to short-range GTM, namely shift-window GTM. The downside of solely utilizing short-range GTM is the lack of connection across groups. Inspired by the recent successes of shifted window self-attention \cite{liu2021swin}, we shift the partition of groups in short-range GTM by an offset of $\frac{S}{2}$. Thus, alternately applying short-range GTM and shift-window GTM across different blocks in a network provides an efficient way of interaction across groups.

\textbf{(4) Shift-token GTM.}
Different from the others, the last design of shift-token GTM forms groups through shifting tokens. Specifically, with the group size $S$, each token is grouped with another $S-1$ ones, each of which reaches the reference position via shifting $1, 2,...,S-1$ time steps in a circular manner. \Cref{fig:gtm}(d) showcases an example where a token is concatenated with another token circularly shifted by one time step for linear mapping. Please note that the number of parameters of shift-token GTM is $\mathcal{O}(SC^{2})$, which is less than other GTM operations.

\textbf{Reducing parameters by weight sharing.} As per our discussion above, the number of parameters of the first three GTM operations is $\mathcal{O}(S^{2}C^{2})$ which grows fast with the increase of group size. Here, we propose to further reduce the number of parameters by sharing the projection weights between the tokens with the same time interval. Formally, the matrix $\bm{W}_{S}$ in \cref{eq:short_range} with weight sharing can be re-written~as
\begin{equation}\label{eq:relative_position}
\small
\begin{aligned}
\bm{W}_{S}=\begin{bmatrix}
\bm{w}_{0} & \bm{w}_{1} & \cdots & \bm{w}_{S-1} \\
\bm{w}_{-1} & \bm{w}_{0} & \cdots & \bm{w}_{S-2}\\
\vdots & \vdots & \ddots & \vdots \\
\bm{w}_{-S+1} & \bm{w}_{-S+2} & \cdots & \bm{w}_{0} \\
\end{bmatrix},
\end{aligned}
\end{equation}
where $\bm{w}_{\Delta t}\in \mathbb{R}^{C\times C}$ is the projection matrix between two tokens with $\Delta t$ time interval. The number of parameters is thus reduced to $\mathcal{O}((S\times 2-1)C^{2})$.

\begin{algorithm}[!tb]
\small
\caption{\small Codes for Grouped Time Mixing (PyTorch-like)}
\vspace{-0.05in}
\begin{PythonA}[frame=none]
# x: input tensor of shape (H, W, T, C)
# ty: mixing type, S: group size

if ty == 'shift_token':
  self.linear = nn.Linear(S*C, C)
else:
  self.linear = nn.Linear(S*C, S*C)

def grouped_time_mixing(x):
  if ty == 'short_range':
    x = self.linear(x.reshape(H, W, -1, S*C))
    x = x.reshape(H, W, T, C)
  elif ty == 'long_range':
    x = x.reshape(H, W, S, -1, C).transpose(2, 3)
    x = self.linear(x.reshape(H, W, -1, S*C))
    x = x.reshape(H, W, -1, S, C).transpose(2, 3)
    x = x.reshape(H, W, T, C)
  elif ty == 'shift_window'
    x = shift(x, S//2)
    x = self.linear(x.reshape(H, W, -1, S*C))
    x = shift(x.reshape(H, W, T, C), -S//2)
  elif ty == 'shift_token':
    x = [shift(x, i) for i in range(S)]
    x = self.linear(torch.cat(x, dim=3))
  return x
\end{PythonA}
\label{algo}
\vspace{-0.05in}
\end{algorithm}

\textbf{Implementation.} The proposed GTM operations can be readily implemented with a few lines of codes in Python. We provide an example of the codes in \Cref{algo} based on PyTorch \cite{NEURIPS2019_9015} platform. We construct the groups of tokens by calling the default \emph{reshape}, \emph{transpose}, \emph{cat} and a pre-defined \emph{shift} functions. We execute the linear mapping by the default \emph{Linear} layer.

\subsection{The MLP-3D Networks} \label{subsec:design}
In order to verify the merit of the four GTM operations, we first develop several MLP-3D network variants based on the 10-layer CycleMLP (CycleMLP-B1) \cite{chen2021cyclemlp} by replacing all the basic blocks with MLP-3D blocks which involve one certain type or two complementary types of GTM operations. Specifically, the MLP-3D network variants with a single type of GTM operations, i.e., \textbf{MLP-3D-SR}, \textbf{MLP-3D-LR} and \textbf{MLP-3D-ST}, solely utilize short-range, long-range and shift-token GTM operation, respectively. Please note that shift-window GTM is theoretically equivalent to short-range GTM when using a single type of GTM. For the variants with two mixed types of GTM operations, we exploit short-range GTM and long-range/shift-window GTM in turn for different blocks, called \textbf{MLP-3D-SR-LR}/\textbf{MLP-3D-SR-SW}, respectively. The comparisons of performance and computational cost between the basic CycleMLP-B1 and the five MLP-3D variants are discussed. Then, based on the observations from these comparisons, an oracle version of MLP-3D network is proposed for the optimal arrangement of GTM operations by a greedy search.

\textbf{Comparisons between MLP-3D network variants.} The comparisons are conducted on Something-Something V2 (SS-V2) \cite{Goyal2017TheS} dataset that is related to human-object interaction scenario and requires a precise modeling of temporal evolution. The dimension of the input video clip is set as $64\times 128\times 128$ which contains randomly cropped $128\times 128$ patches from the uniformly sampled 64 frames. For the videos with less than 64 frames, all the frames are repeated until obtaining enough frames. For each architecture, the weights are initialized with ImageNet-1K pre-trained CycleMLP-B1 model, and an extra dropout layer with 0.5 dropout rate is added before the final fully-connected layer. In the training stage, following \cite{fan2021multiscale,liu2021video}, we exploit label smoothing, random augment \cite{cubuk2020randaugment}, random erasing \cite{zhong2020random} and drop path \cite{huang2016deep} to reduce the over-fitting effect. We set each mini-batch as 512 clips, which are implemented with multiple GPUs in parallel. The network parameters are optimized by AdamW optimizer with basic learning rate of 0.0005 and weight decay of 0.05. The learning rate has one-epoch warmup and then is annealed down to zero after 32 epochs following a cosine decay.

\Cref{fig:com} compares the performances and computations of MLP-3D network variants on SS-V2. Overall, all the MLP-3D network variants exhibit higher performance by a large margin than utilizing 2D CycleMLP-B1 on each frame independently. Specifically, among the variants with a single type of GTM operation, MLP-3D-ST with shift-token GTM achieves the best top-1 accuracy across different group size $S$. For variants with two mixed types of GTM operations, both MLP-3D-SR-LR and MLP-3D-SR-SW attain higher accuracy against solely using short-range GTM (MLP-3D-SR) or long-range GTM (MLP-3D-LR). The result basically indicates the advantage of combining different types of GTM. Moreover, for each MLP-3D network variant, the accuracy curve is like the ``$\Lambda$'' shape when $S$ varies from 1 to 16. This implies that larger group size will not always lead to higher performance, and proper sparsity constraint in GTM might benefit the network learning.

\begin{figure}[!tb]
   \centering{\includegraphics[width=0.36\textwidth]{com_new.pdf}}
   \vspace{-0.1in}
   \caption{\small Comparisons of different MLP-3D network variants in terms of computational cost and top-1 accuracy on SS-V2 dataset.}
   \label{fig:com}
   \vspace{-0.2in}
\end{figure}

\textbf{MLP-3D network architecture.} Based on the empirical findings, the MLP-3D architecture can be promoted with 1) different GTM operations in different blocks; 2) carefully chosen group sizes for GTM operations; 3) proper trade-off between accuracy and computational complexity. In order to optimize these designs, we propose an efficient greedy search algorithm to determine the MLP-3D network architecture, i.e., the type of GTM operation in each block and the corresponding group size. Particularly, inspired by the high efficiency of weight sharing NAS \cite{cai2018efficient, pham2018efficient, luo2018neural}, we split the architecture search into two steps: 1) pre-training the shared weights with randomly assigned types and group sizes; 2) gradually searching the architecture with the best evaluation accuracy with regard to the pre-trained weights. For the first step, we randomly assign the types and group sizes of GTM at each iteration, and a set of time-interval-based matrices $\{\bm{w}_{\Delta t}|_{-S_{max}+1\leqslant{\Delta t}\leqslant S_{max}-1}\}$ used in \cref{eq:relative_position} is shared, where $S_{max}$ is the maximum possible group size. For the second step, the pre-trained weights are used to evaluate each architecture without additional training. In other words, given an architecture, the performance can be approximately estimated by only inferring on validation set with the shared weights. Nevertheless, it is still time-consuming to evaluate all the candidate architectures. To further reduce the time cost of architecture search, we propose to gradually determine the GTM operation of each block one-by-one. An example of the greedy search process is given in \Cref{fig:search}. At the beginning of architecture search, all the operations are randomly assigned at each forward. Then, the operation of each block is decided in turn by choosing the best-performing operation. We repeat the search process three times for more consistent results. In addition, when comparing the performances of different architectures, we further consider the computational complexity to approach a good balance. Specifically, given an architecture $\bm{\theta}$, the revised performance with the consideration of computations is given by
\begin{equation}\label{eq:objective}
\begin{aligned}
\mathcal{V}(\bm{\theta}) - \alpha \mathcal{C}(\bm{\theta}),
\end{aligned}
\end{equation}
where $\mathcal{V}(\cdot)$ and $\mathcal{C}(\cdot)$ denotes the validation accuracy and computational complexity, respectively. We set the trade-off hyper-parameters $\alpha$ as $5\mathrm{e}^{-3}$ by default. Note that the very specific MLP-3D network in \Cref{fig:com} is greedily sought by this algorithm.

\begin{figure}[!tb]
   \centering {\includegraphics[width=0.44\textwidth]{search.pdf}}
   \vspace{-0.1in}
   \caption{\small An example of the greedy search process to determine the MLP-3D network architecture.}
   \label{fig:search}
   \vspace{-0.2in}
\end{figure}

\section{Experiments}
We empirically evaluate our MLP-3D networks on three challenging action recognition benchmarks:
Something-Something V1\&V2 \cite{Goyal2017TheS} and Kinetics-400 \cite{carreira2017quo}.

\subsection{Datasets}
\textbf{Something-Something} is a large-scale video dataset that focuses on human-object interaction scenario. The average video length is 4.0 seconds and all videos are captured from object-centric view with fairly clean backgrounds. The dataset contains 174 fine-grained categories of human-object interactions. The differentiation between the similar interactions is very challenging, which requires the understanding of cause-and-effect relationship in videos, e.g., ``Pushing something so that it falls off the table'' and ``Pushing something so that it almost falls off but doesn't.'' The first version (SS-V1) of the dataset contains 108K videos, which are divided into 86K, 11K, 11K for training, validation and test sets, respectively. The extended version (SS-V2) further increases the video number to 220K, which are partitioned into 170K, 25K and 25K for training, validation and test sets, respectively.

\textbf{Kinetics-400} (K-400) is a standard large-scale benchmark for video recognition, covering 400 action classes. It consists of 246K training videos, 20K validation videos and 40K test videos. Each video in the dataset is 10-second short clip trimmed from the raw YouTube video. K-400 lays particular emphasis on the visual details of objects and background instead of temporal evolution, and is usually treated as a complement to Something-Something dataset.

Note that the labels for test sets are not publicly available, and thus the performances of SS-V1, SS-V2 and Kinetics-400 are all reported on the validation set.

\subsection{Implementation Details}
\textbf{MLP-3D Networks.}
We build a family of MLP-3D networks with various model complexities, as detailed in \Cref{tab:ss}. $C_i$ and $L_i$ denote the number of output channels and the repeated number of MLP-3D block in the $i$-th stage, respectively. These settings are considered as free parameters to make the network structure tailored to the scale of video recognition problem. Here, we exploit the free parameters of CycleMLP-B1, CycleMLP-B2, CycleMLP-B3 and CycleMLP-B5 in \cite{chen2021cyclemlp}, and build a series of MLP-3D networks, namely MLP-3D-XS, MLP-3D-S, MLP-3D-M and MLP-3D-L, respectively.

\begin{table}[!tb]
\centering
\small
\caption{\small MLP-3D networks with various complexity.}
\vspace{-0.1in}
\begin{tabularx}{0.42\textwidth}{X|c|c}
\toprule
\textbf{Network} & $C_1$, $C_2$, $C_3$, $C_4$ & $L_1$, $L_2$, $L_3$, $L_4$ \\
\midrule
MLP-3D-XS & \multirow{3}{*}{64, 128, 320, 512} & 2, 2, 4, 2 \\
MLP-3D-S &  & 2, 3, 10, 3 \\
MLP-3D-M &  & 3, 4, 18, 3 \\ \midrule
MLP-3D-L & 96, 192, 384, 768 & 3, 4, 24, 3 \\
\bottomrule
\end{tabularx}
\label{tab:ss}
\vspace{-0.2in}
\end{table}

\textbf{Training stage.} The training strategies of searching and evaluating MLP-3D network variants have been described in \Cref{subsec:design}. After determining the architecture, we re-train the MLP-3D network with a similar strategy except for larger input resolution and batch augmentation \cite{hoffer2020augment}, which leads to longer training time and higher performances. In addition, considering that different GTM operations can share the same weights, we propose a novel regularization that randomly changes the type and group size of GTM to improve the generalization ability of MLP-3D networks.

\textbf{Weights initialization.} As introduced in \Cref{subsec:design}, the weights of MLP-3D networks are initialized with the ImageNet-1K pre-trained CycleMLP models. In order to maintain the semantic information of pre-trained models, center initialization in \cite{arnab2021vivit} is exploited. The idea is to copy the weights of pre-trained 2D patch embedding to the center of 3D tubelet embedding matrix. Similarly, the projection matrix $\bm{w}_{0}$ between the input and output tokens at the same time point is initialized by channel mixing operation in CycleMLP, and the other matrices $\bm{w}_{\Delta t}$ are set as zero. Such initializations make MLP-3D network perform like a 2D network when the training proceeds.

\textbf{Inference stage.} During inference, we evenly sample one/four clip(s) from each test video of Something-Something/Kinetics-400, respectively. We extract the prediction of each clip by using the three-crop strategy as in \cite{feichtenhofer2019slowfast}, which crops three square patches. The video-level prediction is obtained by averaging scores from all the clips.

\subsection{Experimental Analysis of MLP-3D Networks}

\begin{figure}[!tb]
   \centering {\includegraphics[width=0.34\textwidth]{relation.pdf}}
   \vspace{-0.1in}
   \caption{\small The visualization of real accuracy and estimated accuracy of MLP-3D-XS network variants. The fitting line of two accuracies and its confidence interval are also depicted.}
   \label{fig:relation}
   \vspace{-0.1in}
\end{figure}

\begin{figure}
\centering
   \subcaptionbox{MLP-3D-XS network on SS-V2 dataset (14.89 GFLOPs).}{
     \label{fig:network-a}
     \includegraphics[width=0.48\textwidth]{network-a.pdf}}
   \subcaptionbox{MLP-3D-XS network on Kinetics-400 dataset (14.11 GFLOPS).}{
     \label{fig:network-b}
     \includegraphics[width=0.48\textwidth]{network-b.pdf}}
    \vspace{-0.1in}
   \caption{\small The MLP-3D-XS network greedily sought on (a) SS-V2 dataset, and (b) Kinetics-400 dataset, respectively. The blocks with different group sizes are in the different colors. }
   \label{fig:network}
   \vspace{-0.20in}
\end{figure}

We firstly analyze the greedy search of MLP-3D networks. \Cref{fig:relation} reveals the correlation between real accuracy and estimated accuracy using shared weights of MLP-3D-XS network variants in \Cref{subsec:design}. The real accuracy is achieved by training each architecture individually. The estimated accuracy is obtained without training by directly utilizing the pre-trained shared weights. A positive correlation is identified between these two accuracies, as shown in the figure. The result basically validates the use of estimated accuracy as an efficient approximation of real accuracy in the architecture search.

\Cref{fig:network} depicts the MLP-3D-XS networks greedily sought on SS-V2 and Kinetics-400 datasets, respectively. The optimal type of GTM and group size are given for each block. An interesting observation is that, with the same constraint of computations in \cref{eq:objective}, the network complexity searched on Kinetics-400 dataset is less than that on SS-V2 dataset. This reasonably meets our expectation since the videos in SS-V2 are known to be more complex in terms of temporal dynamics than those in Kinetics-400 dataset.

Next, we study how each design in MLP-3D networks influences the overall performance. Here, we re-train the greedily sought MLP-3D networks, i.e., from MLP-3D-XS to MLP-3D-L, with different input size ($128^2$ or $224^2$). In order to explore the effectiveness of two-path networks following \cite{feichtenhofer2019slowfast,fan2021multiscale}, we further extend the MLP-3D networks to a two-path networks by adding an additional path. To maximize the complementarity between paths, we erase the background of the input frames in the additional path by subtracting the averaged frame over time.

\begin{table}[!tb]
\centering
\scriptsize
\caption{\small Performance contribution of each design in MLP-3D networks. Top-1 accuracies are reported on SS-V2 and Kinetics-400 validation set, respectively.}
\vspace{-0.1in}
\begin{tabularx}{0.44\textwidth}{l|cc|c|C|C}
\toprule
\multirow{2}{*}{\textbf{Network}} & \multicolumn{2}{c|}{\textbf{Input size}} & \multirow{2}{*}{\textbf{Two-path}} & \multirow{2}{*}{\textbf{SS-V2}} & \multirow{2}{*}{\textbf{K-400}}\\
& $128^{2}$ & $224^{2}$ & & \\
\midrule
\multirow{4}{*}{MLP-3D-XS} & \checkmark & & & 64.6 & 75.0\\
& \checkmark & & \checkmark & 65.6 & 76.2\\
& & \checkmark & & 65.4 & 76.5\\
& & \checkmark & \checkmark & 66.0 & 77.2\\
\midrule
\multirow{4}{*}{MLP-3D-S} & \checkmark & & & 65.5 & 77.2\\
& \checkmark & & \checkmark & 66.7 & 78.0\\
& & \checkmark & & 66.7 & 79.2 \\
& & \checkmark & \checkmark & 67.2 & 80.0\\
\midrule
\multirow{4}{*}{MLP-3D-M} & \checkmark & & & 65.7 & 78.0\\
& \checkmark & & \checkmark & 66.9 & 78.8 \\
& & \checkmark & & 67.2 & 79.9\\
& & \checkmark & \checkmark & 68.0 & 81.0\\
\midrule
\multirow{4}{*}{MLP-3D-L} & \checkmark & & & 66.0 & 78.3\\
& \checkmark & & \checkmark & 66.7 & 78.9 \\
& & \checkmark & & 67.6 & 80.4 \\
& & \checkmark & \checkmark & 68.5 & 81.3\\
\bottomrule
\end{tabularx}
\label{tab:analysis}
\vspace{-0.2in}
\end{table}

\Cref{tab:analysis} details the accuracy improvements on SS-V2 and Kinetics-400 datasets by different designs in MLP-3D networks. When exploiting MLP-3D-XS as the backbone, the larger input size ($224^2$) successfully boosts up the top-1 accuracy from 64.6\% to 65.4\% on SS-V2 and from 75.0\% to 76.5\% on Kinetics-400. This demonstrates the effectiveness of training on larger resolution for video recognition. The extension to two-path networks which explores the complementarity across paths further leads to the performance improvement of 0.6\% and 0.7\% on SS-V2 and Kinetics-400, respectively. Moreover, across different MLP-3D networks, the deeper networks exhibit significantly better performance than the shallower ones. Specifically, the overall performance is improved from 66.0\% to 68.5\% on SS-V2 and from 77.2\% to 81.3\% on Kinetics-400 by replacing MLP-3D-XS with MLP-3D-L. The results verify that a deeper network has the larger learning capacity.

\subsection{Comparisons with State-of-the-Art Models}

\begin{table}[!tb]
\centering
\scriptsize
\caption{\small Comparisons with the state-of-the-art methods on SS-V2.}
\vspace{-0.1in}
\begin{tabularx}{0.48\textwidth}{l@{~}|@{~}c@{~}|@{~}c@{~}|@{~}C@{~}|@{~}c@{~}|@{~}C@{~}C}
\toprule
\textbf{Method} & \textbf{Pre-train} & \textbf{GFLOPs} & \textbf{Views} & \textbf{Params} & \textbf{Top-1} & \textbf{Top-5} \\
\midrule
TSM-RGB \cite{Lin2019TSMTS} & \multirow{8}{*}{IN-1K} & 62 & $2\times 3$ & 42.9 & 63.4 & 88.5 \\
ACTION-Net \cite{wang2021action} &  & 69 & $1\times 1$ & 28.0 & 64.0 & 89.3 \\
STM \cite{jiang2019stm} & & 66 & $10\times 3$ & 24.0 & 64.2 & 89.8 \\
SmallBig \cite{li2020smallbignet} & & 157 & $2\times 3$ & -- & 64.5 & 89.1 \\
MSNet \cite{kwon2020motionsqueeze} & & 67 & $1\times 1$ & 24.6 & 64.7 & 89.4 \\
TEA \cite{li2020tea} & & 70 & $10\times 3$ & -- & 65.1 & 89.9 \\
DG-P3D \cite{qiu2021optimization} & & 123 & $10\times 3$ & -- & 65.5 & 90.3 \\
TDN \cite{wang2021tdn} & & 132 & $1\times 1$ & -- & 66.9 & 90.9 \\
\midrule
\textcolor{gray}{TimeSformer-HR \cite{bertasius2021space}} & \multirow{2}{*}{\textcolor{gray}{IN-21K}} & \textcolor{gray}{1703} & \textcolor{gray}{$1\times3$} & \textcolor{gray}{121.4} & \textcolor{gray}{62.5} & \textcolor{gray}{--} \\
\textcolor{gray}{ViViT-L/$16\times 2$ \cite{arnab2021vivit}} & & \textcolor{gray}{903} & \textcolor{gray}{--} & \textcolor{gray}{352.1} & \textcolor{gray}{65.4} & \textcolor{gray}{89.8} \\
\midrule
\textcolor{gray}{SlowFast R101 \cite{feichtenhofer2019slowfast}} & \multirow{3}{*}{\textcolor{gray}{K-400}} & \textcolor{gray}{106} & \textcolor{gray}{$1\times3$} & \textcolor{gray}{53.3} & \textcolor{gray}{63.1} & \textcolor{gray}{87.6} \\
\textcolor{gray}{MViT-B, $64\times 3$ \cite{fan2021multiscale}} & & \textcolor{gray}{455} & \textcolor{gray}{$1\times 3$} & \textcolor{gray}{36.6} & \textcolor{gray}{67.7} & \textcolor{gray}{90.9} \\
\textcolor{gray}{Video Swin-B \cite{liu2021video}} & & \textcolor{gray}{321} & \textcolor{gray}{$1\times 3$} & \textcolor{gray}{88.8} & \textcolor{gray}{69.6} & \textcolor{gray}{92.7} \\
\midrule
\textcolor{gray}{MViT-B-24, $32\times 3$ \cite{fan2021multiscale}} & \textcolor{gray}{K-600} & \textcolor{gray}{236} & \textcolor{gray}{$1\times 3$} & \textcolor{gray}{53.2}  & \textcolor{gray}{68.7} & \textcolor{gray}{91.5} \\
\midrule
MLP-3D-XS & \multirow{4}{*}{IN-1K} & 60 & $1\times 3$ & 55.1 & 66.0 & 90.4 \\
MLP-3D-S & & 108 & $1\times 3$ & 74.1 & 67.2 & 91.3 \\
MLP-3D-M & & 183 & $1\times 3$ & 88.3 & 68.0 & 91.7 \\
MLP-3D-L & & 336 & $1\times 3$ & 149.4 & 68.5 & 92.0 \\
\bottomrule
\end{tabularx}
\label{tab:ssv2}
\vspace{-0.1in}
\end{table}

\begin{table}[!tb]
\centering
\scriptsize
\caption{\small Comparisons with the state-of-the-art methods on SS-V1.}
\vspace{-0.1in}
\begin{tabularx}{0.48\textwidth}{l@{~}|@{~}c@{~}|@{~}c@{~}|@{~}C@{~}|@{~}c@{~}|@{~}C@{~}C}
\toprule
\textbf{Method} & \textbf{Pre-train} & \textbf{GFLOPs} & \textbf{Views} & \textbf{Params} & \textbf{Top-1} & \textbf{Top-5} \\
\midrule
TSM-RGB \cite{Lin2019TSMTS} & \multirow{7}{*}{IN-1K} & 62 & $2\times 3$ & 42.9 & 47.2 & 77.1 \\
STM \cite{jiang2019stm} & & 66 & $10\times 3$ & 24.0 & 50.7 & 80.4 \\
SmallBig \cite{li2020smallbignet} & & 157 & $2\times 3$ & -- & 51.4 & 80.7 \\
MSNet \cite{kwon2020motionsqueeze} & & 67 & $1\times 1$ & 24.6 & 52.1 & 82.3 \\
TEA \cite{li2020tea} & & 70 & $10\times 3$ & -- & 52.3 & 81.9  \\
DG-P3D \cite{qiu2021optimization} & & 123 & $10\times 3$ & -- & 52.8 & 81.8 \\
TDN \cite{wang2021tdn} & & 132 & $1\times 1$ & -- & 55.3 & 83.3 \\
\midrule
MLP-3D-XS & \multirow{4}{*}{IN-1K} & 60 & $1\times 3$ & 55.1 & 54.4 & 82.5\\
MLP-3D-S & & 108 & $1\times 3$ & 74.1 & 55.2 & 83.2  \\
MLP-3D-M & & 183 & $1\times 3$ & 88.3 & 56.2 & 83.5\\
MLP-3D-L & & 336 & $1\times 3$ & 149.4 & 56.5 & 83.5\\
\bottomrule
\end{tabularx}
\label{tab:ssv1}
\vspace{-0.2in}
\end{table}

We compare with several state-of-the-art techniques on SS-V2 dataset. \Cref{tab:ssv2} summarizes the performance comparisons. The baselines are pre-trained on ImageNet-1K (IN-1K), ImageNet-21K (IN-21K), Kinetics-400 (K-400) or Kinetics-600 (K-600) datasets. The ``views'' represents the number of clips sampled from the full video during inference. Overall, the small-sized MLP-3D-S network achieves the highest top-1 accuracy of 67.2\% among the methods pre-trained on ImageNet-1K. More importantly, MLP-3D-S only spends 108G FLOPs, which is 18\% less than that of TDN. The top-1 accuracy is further improved to 68.5\% by the deeper MLP-3D-L network, which leads to the performance boost of 1.6\% over the best competitor TDN. Please note that most transformer-based models employ the pre-training on larger datasets. Nevertheless, MLP-3D-L network still outperforms TimeSformer-HR and ViViT-L by 6.0\% and 3.1\%, respectively. MViT-B and Video Swin-B, which are pre-trained with more video data, expectably obtain higher accuracy. \Cref{tab:ssv1} shows the comparisons on SS-V1 dataset. In this comparison, we merely transfer the architectures searched on SS-V2 but train the weights on SS-V1 to validate the transferability. The similar performance trends are observed on SS-V1. Specifically, MLP-3D-L attains 56.5\% top-1 accuracy, which leads the performance by 1.2\% against TDN method. The results validate the use of the searched MLP-3D networks to the dataset with similar target categories.

\begin{table}[!tb]
\centering
\scriptsize
\caption{\small Comparisons with the state-of-the-art methods on K-400.}
\vspace{-0.1in}
\begin{tabularx}{0.48\textwidth}{l@{~}|@{~}c@{~}|@{~}c@{~}|@{~}C@{~}|@{~}c@{~}|@{~}C@{~}C}
\toprule
\textbf{Method} & \textbf{Pre-train} & \textbf{GFLOPs} & \textbf{Views} & \textbf{Params} & \textbf{Top-1} & \textbf{Top-5} \\
\midrule
R(2+1)D \cite{tran2018closer} & \multirow{7}{*}{None} & 75 & $10\times 1$ & 61.8 & 72.0 & 90.0 \\
ip-CSN-152 \cite{tran2019video} &  & 109 & $10\times 3$ & 32.8 & 77.8 & 92.8 \\
CorrNet-101 \cite{wang2020video} &  & 224 & $10\times 3$ & -- & 79.8 & 93.9 \\
SlowFast R101+NL \cite{feichtenhofer2019slowfast} &  & 234 & $10\times 3$ & 59.9 & 79.8 & 93.9 \\
X3D-XXL \cite{feichtenhofer2020x3d} &  & 144 & $10\times 3$ & 20.3 & 80.4 & 94.6 \\
MViT-B, $32\times 3$ \cite{fan2021multiscale} &  & 170 & $1\times 5$ & 36.6 & 80.2 & 94.4 \\
MViT-B, $64\times 3$ \cite{fan2021multiscale} &  & 455 & $3\times 3$ & 36.6 & 81.2 & 95.1 \\
\midrule
I3D \cite{carreira2017quo} & \multirow{9}{*}{IN-1K} & 108 & -- & 25.0 & 72.1 & 90.3 \\
NL I3D-101 \cite{wang2018non} &  & 359 & $10\times 3$ & 61.8 & 77.7 & 93.3 \\
SmallBig \cite{li2020smallbignet} &  & 475 & $4\times 3$ & -- & 78.7 & 93.7 \\
LGD-3D \cite{qiu2019learning} &  & 195 & -- & -- & 79.4 & 94.4 \\
TDN \cite{wang2021tdn} &  & 198 & $10\times 3$ & -- & 79.4 & 94.4 \\
DG-P3D \cite{qiu2021optimization} &  & 218 & $10\times 3$ & -- & 80.5 & 94.6 \\
Video Swin-T\cite{liu2021video} &  & 88 & $4\times 3$ & 28.2 & 78.8 & 93.6 \\
Video Swin-S\cite{liu2021video} &  & 166 & $4\times 3$ & 49.8 & 80.6 & 94.5 \\
Video Swin-B\cite{liu2021video} &  & 282 & $4\times 3$ & 88.1 & 80.6 & 94.6 \\
\midrule
\textcolor{gray}{ViT-VTN \cite{neimark2021video}} & \multirow{7}{*}{\textcolor{gray}{IN-21K}} & \textcolor{gray}{4218} & \textcolor{gray}{$1\times 1$} & \textcolor{gray}{11.0} & \textcolor{gray}{78.6} & \textcolor{gray}{93.7} \\
\textcolor{gray}{TokShift \cite{zhang2021token}} &  & \textcolor{gray}{2096} & \textcolor{gray}{$10\times 3$} & \textcolor{gray}{303.4} & \textcolor{gray}{80.4} & \textcolor{gray}{94.4} \\
\textcolor{gray}{TimeSformer-L \cite{bertasius2021space}} &  & \textcolor{gray}{2380} & \textcolor{gray}{$1\times3$} & \textcolor{gray}{121.4} & \textcolor{gray}{80.7} & \textcolor{gray}{94.7} \\
\textcolor{gray}{ViViT-L/$16\times 2$ \cite{arnab2021vivit}} &  & \textcolor{gray}{1446} & \textcolor{gray}{$4\times 3$} & \textcolor{gray}{310.8} & \textcolor{gray}{80.6} & \textcolor{gray}{94.7} \\
\textcolor{gray}{ViViT-L/$16\times 2$ 320\cite{arnab2021vivit}} &  & \textcolor{gray}{3992} & \textcolor{gray}{$4\times 3$} & \textcolor{gray}{310.8} & \textcolor{gray}{81.3} & \textcolor{gray}{94.7} \\
\textcolor{gray}{Video Swin-B\cite{liu2021video}} &  & \textcolor{gray}{282} & \textcolor{gray}{$4\times 3$} & \textcolor{gray}{88.1} & \textcolor{gray}{82.7} & \textcolor{gray}{95.5} \\
\textcolor{gray}{Video Swin-L(384$\uparrow$)\cite{liu2021video}} &  & \textcolor{gray}{2107} & \textcolor{gray}{$10\times 5$} & \textcolor{gray}{200.0} & \textcolor{gray}{84.9} & \textcolor{gray}{96.7} \\
\midrule
MLP-3D-XS & \multirow{4}{*}{IN-1K} & 57 & $4\times 3$ & 50.1 & 77.2 & 93.1  \\
MLP-3D-S &  & 102 & $4\times 3$ & 68.5 & 80.2 & 93.8 \\
MLP-3D-M &  & 170 & $4\times 3$ & 80.5 & 81.0 & 94.9 \\
MLP-3D-L &  & 308 & $4\times 3$ & 135.6 & 81.4 & 95.2 \\
\bottomrule
\end{tabularx}
\label{tab:k400}
\vspace{-0.2in}
\end{table}

Then, we turn to evaluate MLP-3D networks on the large-scale Kinetics-400 dataset. The performance comparisons are reported in \Cref{tab:k400}. Specifically, with ImageNet-1K pre-training, MLP-3D-L network achieves 81.4\% top-1 accuracy, making the improvements over the recent approaches Video Swin-B, DG-P3D, TDN and LGD-3D by 0.8\%, 0.9\%, 2.0\% and 2.0\%, respectively. Furthermore, MLP-3D-L with less FLOPs is impressively superior to several video transformers pre-trained on ImageNet-21K, e.g., ViT-VTN, TokShift, TimeSformer-L and ViViT-L, which spend about ten times more FLOPs.

\section{Conclusion and Discussion}
We have proposed a new family of MLP-like 3D architectures named MLP-3D networks for video recognition.
Particularly, we investigate the token interaction across time in MLP-like architecture, by designing MLP-3D blocks with token-mixing MLP decomposed by height, width and time dimensions. For time dimension, we have devised variants of novel grouped time mixing (GTM) operations for group-based interaction between tokens. The type of GTM and its group size of each block are determined by an efficient greedy architecture search. Experiments conducted on three datasets, i.e., Something-Something V1 \& V2, and Kinetics-400, validate that MLP-3D networks achieve superior performances than other video recognition techniques under the same pre-training scheme. The competitive performances also show the high potential of MLP-like architectures for video analysis. More remarkably, the network is easier to train and consumes less FLOPs.

\textbf{Broader Impact.} Our MLP-3D shows a great potential of MLP-like architectures for video analysis, which are easily developed with less computations. This could increase the risk of video understanding model or its outputs being used incorrectly, such as for unauthorized surveillance.

\textbf{Acknowledgments.} This work was supported by the National Key R\&D Program of China under Grant No. 2020AAA0108600.

{\small
\bibliographystyle{ieee_fullname}

redpajama_set_name: RedPajamaArXiv


I am getting the "Could not acquire server" exception. I have already seen the other post at "Could not acquire server - exception", however, I did like to mention that in my case, the code works fine for the first call.
However, all subsequent calls fail!
The first time I execute this code it works absolutely fine. However, the next time this method is hit, it gives me an exception at if(results.Success). Actually an exception is not thrown, however, in the Quick Watch window I can see that there is an Exception. The image for which I have pasted in my first post in this thread.
I will write a Singleton implementation of my own CustomClusterHelper which would inherit from ClusterHelper and ensure that once initialized the same reference is returned. I hope this is OK.
Sure, but by simply changing the scope we can easily determine if that is the issue…by adding more code, you may potentially introduce another bug or issue.
Alternatively, you can add logging and post your logs.
Also, which Couchbase version are you using and which SDK version?
I implemented a Singleton class and that WORKED!!!
Thanks Jeff for your support!


Drainage Worcestershire consists of a team of commercial drain maintenance and servicing technicians in Worcestershire with decades of experience Clients trust us to handle all their drain - related issues because they know we understand how critical the issue is for them Our clients rely on us to get the job right, on the first time; and they know that we do it fast. The last thing our clients need is to waste resources trying to get a problem that should have been fixed the first time fixed.
We understand that our clients have their businesses to attend to A service that is efficient and non - invasive to their business or their customers is ideal. It's no wonder that Drainage Worcestershire is the first choice for commercial drainage needs in Worcestershire. Our state - of - the - art equipment means we can identify problems that our competition misses; and, we can fix them lightening - fast.


SRM – AP, Amaravati is organizing info sessions on careers in Engineering for students of Class XII and other Engineering aspirants across Delhi NCR. These info-sessions will help the students make an informed choice in their careers.
Prof. Tousif Khan N of SRM AP's Department of Electrical Engineering will take the students through the Info-sessions on choosing a career in Engineering. Dr. Khan is a specialist in adaptive controls, DC-DCConverters and Optimization Techniques. The students and their guardians can have one on one interaction with Dr. Tousif Khan and senior executives of SRM AP and decide on their future course of study.
The SRM AP info-sessions in Gurgaon & Delhi are planned for the 8th and 9th of December. On Saturday, the 8th of December, the info-session will be at Country Inn and Suites, Sector 29, Gurgaon beginning 11.00 am. On Sunday, the 9th of December, the info-session will be held at 11.00 am for the students and their guardians at The Lalit, Barakhamba Road, New Delhi.
School of Engineering and Applied Sciences offers B.Tech programmes in Computer Science Engineering, Electrical & Electronics Engineering, Electronics& Communication Engineering, Mechanical Engineering and Civil Engineering. A total of 1000 seats are on offer at SRM AP, Amaravati.
"The Engineering programmes at SRM AP are a bridge to the future. Dr. Tousif Khan N will take the students through a session on the opportunities that can be unleashed through a Career in Engineering", says Rupesh Bisht, Director Admissions, SRM University – AP, Amaravati.
All Engineering programmes have the option for multiple Major/Minors and various specializations. SRM offers a flexible curriculum with Inter Disciplinary Experiential Active Learning (IDEAL) environment. This is at par with what is offered globally by the top Engineering schools like MIT & Stanford. With IDEAL, the students have the choice to pursue Minors and Specializations of their choices and broad-base their opportunities, internships and projects.
The students will be granted admission to B.Tech through SRMJEEE – Joint Entrance Examination in Engineering. SRMJEEE will be a Computer Based Test conducted across India and Middle East, from 15th and 25th of April 2019. Both Resident Indians and Non-Resident Indians can apply for SRMJEEE 2019. NRI candidates who qualify in SRMJEEE 2019 and compete with the domestic candidates through the regular counselling process will get a 35% scholarship on the tuition fee applicable for international students, for all four years. They also have an option to directly apply under International admission category and get admission in any program / campus without taking SRMJEEE by paying the international tuitionfee. The online application portal will close on 31st March 2019.
Last year, B.Tech witnessed over 1,50,000 students applying with complete geographic, cultural, and socio-economic representation from all parts of India and from countries over the world.


text:
How to use 'a professor of' in a sentence
Are you looking for sentences with 'a professor of'? See these examples of use.
Knin; after that, he worked as a professor of fine arts in several towns along the Adriatic coast and in Serbia. In 1931 he settled in Belgrade. He worked as a drawing teacher in many different Belgrade grammar and high schools.
… called the Klaipėda Stasys Šimkus Conservatoire). He was a professor of composition at the Conservatoire from 1931 to 1937 and also conducted the State Opera at Kaunas.
…İştar Gözaydın (April 5, 1959 – Istanbul, Turkey) is a professor of Law and Politics. She is also a founder of the Helsinki Citizens Assembly, a human rights organization in Turkey. She was a research fellow at the University of London, Birkbeck College Birkbeck, University of London in 2009 and she was a Fulbright Program scholar in the U.S. in 1986-87.
…Đurović was born in Sarajevo, Bosnia and Herzegovina, in what was then the Socialist Federal Republic of Yugoslavia. She attended the school of economics at the University of Belgrade and is a professor of the Serbian language. Now based in Belgrade, she was a founding member of the Progressive Party in 2008.
…Đonlagić began teaching at the University of Sarajevo in 1998 as a teaching assistant. He became a professor of Finances in 2006. He has also served as the vice-dean and executive manager of School of Economics and Business Sarajevo from…
…Čelakovský was a professor of plant physiology at the Czech Technical University in Prague, and was a specialist in research of slime molds. He was the author of an 1890 book on the phylum Myxomycota called České myxomycety.
…Ümit Cizre (born 1946) is a Turkish academic, and a leading expert on civilian-military relations in Turkey. She is a professor of political science and international relations at Istanbul Şehir University. She is the editor of Almanac Turkey 2005 – Security Sector and Its Democratic Oversight (2006), which gained public attention in Turkey.
…Øyvind Sverre Bruland (born 14 December 1952) is a professor of Clinical Oncology and faculty of Medicine at the University of Oslo. Bruland holds a B.Sc., M.D and Ph.D. from the University of Oslo, Norway. His research includes: primary…
…Øystein Fischer (born 9 March 1942 in Bergen, died 19 September 2013) was a Norwegian physicist and specialist in the field of superconductivity. He was a professor of the Faculty of Science of the University of Geneva. He was also the…
Princeton, New Jersey, United States, in 1964 at the Saarland University and in 1975-1976 at the University of Munich, Germany. He and his wife Nimet, also a professor of archaeology at Ankara University, formed a remarkable team, dominating…
…Ölander became an associate professor of physical chemistry at Stockholm University in 1929. He was a professor of theoretical chemistry and electrochemistry at the Royal Institute of Technology 1936-1943, in inorganic and physical chemistry at Stockholm University 1943-1960, and in physical chemistry at Stockholm University 1960-1968.
…Ólafur was educated at Akureyri Junior College (matriculated 1935), and studied law at the University of Iceland (graduated 1939, Hdl. 1942). Following postgraduate studies in Denmark and Sweden, he worked as a lawyer and accountant, before returning to academia, becoming a lecturer and serving as a professor of law at the University of Iceland 1947-78.
… then a Professor of Political Science at the same university in 1973. He was the University's first Professor of Political Science.
…Ó Cobhthaigh was a member of a hereditary bardic family based in what is now County Westmeath. His obit in the Annals of the Four Masters describe him as an ollamh, a professor of poetry, indicating that his verses were very highly regarded. No examples of his work is known to survive.
… was a Professor of Irish at the Dublin Institute for Advanced Studies's School of Celtic Studies for five years between 1973 and 1978. Following this Ó Buachalla was Professor of Modern Irish Language and Literature at University College…
…Étienne Vincent Borne (January 22, 1907 – June 14, 1993) was born in Manduel (Gard). He was a professor of philosophy Hypokhâgne at Lycée Henri-IV in Paris. Étienne Borne founded the Mouvement Republicain Populaire (MRP), and the French Christian Democratic Party. He was a columnist in the newspaper La Croix.
… professor of medicine at Laval University and the Centre hospitalier universitaire de Québec Research Center, he was also a scientific director of the World Health Organization's Collaborative Centre in Environmental Health.
…Émile Damais (4 March 1906 in Paris – 8 April 2003) was a French composer and musicologist. A prisoner in the Stalag II B, Hammerstein / Schlochau (Poland) during the Second World War, he composed there Ô nuit… for singing and orchestra. He was also a professor of music history.
…Éliette Abécassis (born January 27, 1969) is a French writer of Moroccan-Jewish descent. She is a professor of philosophy at the University of Caen Normandy.
…Åkesson was born in Östhammar in 1964. She is a professor of Zoology at Lund University.

redpajama_set_name: RedPajamaCommonCrawl


text:
Topeka Loses Its Damn Mind, Repeals Law Against Domestic Violence
Margaret Hartmann
Filed to:Domestic Violence
We're in the midst of National Domestic Violence Awareness Month, and last night city officials in Topeka, Kansas marked the occasion by decriminalizing domestic violence. Their intent is actually to make sure that the cases will be prosecuted properly, not to encourage citizens to beat their spouses with impunity. However, the political maneuver has already let dozens of abusers off the hook and put their victims' lives in danger.
As we discussed earlier, officials from the city of Topeka and Shawnee County are currently engaged in a game of chicken over who's responsible for prosecuting domestic violence cases. When the county's budget was slashed by 10%, Shawnee County District Attorney Chad Taylor's solution was to stop prosecuting misdemeanors in Topeka's city limits. He hoped to force the city to pick up the cost of the cases, and noted, "of greatest concern are domestic violence cases." It seems Taylor thought the city might ignore minor drug or assault cases, but wouldn't simply refuse to deal with something as serious as domestic abuse. Yet, last night city officials called his bluff and repealed its law against domestic violence.
Citing Budget Concerns, City May Decriminalize Domestic Violence
When cities face a budget crunch, city government often has to make tough decisions — say, laying…
City officials told the Associated Press that the move puts them in a better position to negotiate, and forces Taylor to prosecute the cases since they're still crimes under state law. They added that this actually helps victims, because the county courts are better funded and can offer them better services. Unfortunately, that won't make much of a difference for the 18 people whose abusers were released from jail in the past few days. The same goes for those involved in the 35 incidents of domestic battery and assault reported since September, which aren't being pursued. As Rita Smith, executive director of the National Coalition Against Domestic Violence, said, "It's really outrageous that they're playing with family safety to see who blinks first. People could die while they're waiting to straighten this out."
Aside from the horrifying prospect of people being killed while negotiations continue, the incident is disturbing because it's part of a much bigger problem. Though local governments in Kansas are being forced to cut critical services, Governor Sam Brownback is still preparing to implement tax cuts. (So if you're planning to be assaulted and would like a cop to show up, you're going to want to wait until that funding has trickled down.) Plus, Scott Burns, executive director of the National District Attorneys Association, tells the New York Times that prosecutors across the nation are being forced to prioritize certain kinds of cases, they just aren't talking about it in public. He says:
"Usually no one comes out and says that starting today I'm not going to prosecute that crime, which sends a message of failure and tells the community you're free to commit that crime."
See, people aren't exactly free to commit one of these crimes, but thanks to the double secret probation, there's a chance criminals will be released while officials are busy hashing out the budget.
Kan.'s Capital City Repeals Domestic Violence Law [AP]
Facing Cuts, A City Repeals Its Domestic Violence Law [NYT]
Earlier: Citing Budge Concerns, City May Decriminalize Domestic Violence
Image via kentoh/Shutterstock.


The well-known cable network, Lifetime, is launching the all-new unscripted series America's SuperNanny, marking the first true U.S. version of the hit global format that will feature an American homegrown nanny.
The producers of Lifetime's parenting series American's SuperNanny are currently casting families. We are sending casting teams around the country to find the next amazing families for the show. Producers want families from every type of background who are ready for the opportunity of a lifetime—a visit from America's SuperNanny!
To be considered for the show, please email the Casting Team ASAP and provide the reason why you need help and a recent family photo. Anonymous referrals are also accepted. E-mail the casting team at rgreenberg@shedmediaus.com.


text:
Previous / GC: Series Brands Hatch summary Next / UK: Jason Mills Brands Hatch preview
Team USA Scholarship winners announced
Pigot, Serralles Selected as 2010 Team USA Scholarship Winners American Teenagers Will Continue the Legacy Begun in 1990 by Jimmy Vasser Braselton, Ga. (September 30, 2010) -- Teenaged Florida-based racers Spencer Pigot and Felix Serralles today ...
Pigot, Serralles Selected as 2010 Team USA Scholarship Winners
American Teenagers Will Continue the Legacy Begun in 1990 by Jimmy Vasser
Braselton, Ga. (September 30, 2010) -- Teenaged Florida-based racers Spencer Pigot and Felix Serralles today were confirmed as winners of the 21st annual Team USA Scholarship.
Both American youngsters will travel to England next weekend to begin preparations for their entries in the Formula Ford Festival, which will be held at Brands Hatch on October 16/17, and the Walter Hayes Trophy event at Silverstone on November 6/7. In addition to an intensive program of testing aboard their pair of patriotically liveried, red-white-and-blue Ray GRS08 cars, which will be prepared for the third successive year by Cliff Dempsey Racing, Pigot and Serralles will undertake a variety of industry visits including the highlight of an insider tour of the majestic McLaren Technical Center, home of the Vodafone McLaren Mercedes Formula One team.
The pair earned their selection following a hotly contested shootout held earlier this month at the Bondurant School of High Performance Driving in Chandler, Ariz.
The other finalists were: Neil Alberico, 17, from Los Gatos, Calif.; Ashley Freiberg, 18, from Homer Glen, Ill.; Patrick Gallagher, 17, from Thornville, Ohio; Miles Maroney, 16, from Topanga Canyon, Calif.; Arie Ouimet, 19, from Plymouth, Mass.; and Jonathan Scarallo, 18, from Hauppauge, N.Y.
"This was an outstanding group," said Team USA Scholarship founder Jeremy Shaw. "The judges ultimately reached a unanimous decision but everyone was very impressive. The future of American racing is in good hands."
In addition to coping with over 100-degree temperatures as they competed in a fleet of Chevrolet Corvettes and Formula Mazda open-wheel cars, the eight finalists submitted a pair of essays and filled out a questionnaire aimed at testing their knowledge of the sport. They were also interviewed by an illustrious panel of judges that included school founder and CEO Bob Bondurant; former Team USA Scholarship winner and 2004 Indianapolis 500 champion Buddy Rice; 2009 Daytona 24 Hours winner Darren Law; American Le Mans Series driver Chris McMurry; veteran race car design/engineer John Ward; Sparco USA's Chris Neuer; and Bondurant Race Series Director Alan Rudolph.
"Being chosen for the Team USA Scholarship is the highlight of my career so far," said Pigot, from Windermere, Fla., who yesterday celebrated his 17th birthday and this week at Road Atlanta is seeking to clinch the BFGoodrich/Skip Barber National Presented by Mazda, in which he currently holds a 20-point advantage.
"To be on the same list as the previous winners and to represent my country -- and all these incredible supporters -- is a great honor. Not only is this a unique experience for me to drive new tracks, a new car and a different style of racing, I know I will learn a huge amount which will help me when I return to America to continue my career."
"To finally have the chance to race in Europe is a dream come true," added fellow Skip Barber National race winner Serralles, 18, who was born in Ponce, Puerto Rico, an unincorporated territory of the United States, and now lives in Haines City, Fla.
"Winning the Team USA Scholarship will open new doors and present more opportunities in the future. I also hope that it gives me the chance to stay and race in Europe, which has been my dream ever since I first started karting."
The Team USA Scholarship has been helping young American drivers since 1990. Past winners include Jimmy Vasser, Bryan Herta, Tony Ave, Buddy Rice, Paul Edwards, Andy Lally, Joey Hand, Phil Giebler, A.J. Allmendinger, Bryan Sellers, J.R. Hildebrand, Dane Cameron, Josef Newgarden and Conor Daly. The program is supported by Doug Mockett & Company, Road Racing Drivers Club, Cooper Tire & Rubber Company, Walldinger Racing, Robo-Pong, Highcroft Racing, "The Road to Indy," Mazda, Bondurant School of High Performance Driving, Silicon Salvage, McMurry Inc., Dyson Racing, The Gorsline Company, Integrated Performance Technology, Robertson Racing, PitFit Training, Sparco USA, Buttonwillow Raceway Park, OnCars.com, eFormulaCarNews.com, Speedstar Management, Styled Aesthetic, Manifest Group and numerous past Scholarship winners.
For more information, please visit www.TeamUSAScholarship.org.
-source: jeremy shaw
GC: Series Brands Hatch summary
UK: Jason Mills Brands Hatch preview
Neil Alberico
Alberico: The rising star who relearned his craft
Jamin tops Indy Lights field in Spring Training
Kaiser wins easily, Jones takes points lead
Dyson Racing
Dyson Racing Team concludes two-year of works-supported program with Bentley, looks ahead to 2016
World Challenge set to crown 2015 champions at Mazda Raceway Laguna Seca
World Challenge showdown in Sonoma
IndyCar and Motorsport Network team up to launch Global Fan Survey
First GRM Combine kicks off in Tasmania
Rating the best drivers of the century so far
Autosport's Top 50 feature has been a staple of the magazine for the past two decades since its first appearance in 2002. Here are the drivers that have featured most prevalently during that time
The best motorsport moments of 2021
By Autosport Staff
Motorsport produced one of its greatest years of all-time in 2021 despite a backdrop of ongoing COVID-19 challenges and an ever-changing racing landscape. Through the non-stop action Motorsport.com has collected the finest moments from the past 12 months to highlight the incredible drama and joy motorsport generates.
The racing comeback artists who resurrected long-dormant careers
Making it in motorsport can be tough, and sometimes drivers move elsewhere before their best chance arrives. Here are some of those who made it back
The one-time Schumacher rival rebooting his career Down Under
By Andrew van Leeuwen
Joey Mawson made waves in the middle of the last decade, beating future Haas Formula 1 driver Mick Schumacher - among other highly-rated talents - to the 2016 German F4 title. A run in F1's feeder GP3 category only caused his career to stall, but now back in Australia Mawson's S5000 title success has set that to rights
Why Todt's FIA successor could be cut from the same cloth
Jean Todt has signalled that he will not stand for re-election as FIA president. Mark Gallagher analyses the strong credentials of one potential successor…
The lesson football's would-be wreckers could learn from racing
OPINION: The greed-driven push for a European Super League that threatened to tear football apart is collapsing at the seams. Motor racing's equivalent, the football-themed Superleague Formula series of 2008-11, was everything that the proposed ESL never could be.
The real-life racing rogues stranger than fiction
By Stuart Codling
The forthcoming Netflix film linking the world of underworld crime and motorsport plays on a theme that isn't exactly new. Over the years, several shady figures have attempted to make it in racing before their dubious dealings caught up with them.
The cherished curios kept by motorsport's professionals at home
Keeping trophies and momentos of key triumphs is par for the course for motorsport professionals, but what are the most cherished souvenirs picked up by the drivers and engineers who have seen and done it all?


Optolong EOS APS-C UHC Clip Filter is made with Schott glass that has been multi-coated with an ion-assisted deposition technology to ensure scratch resistance and stability on the central wavelength, or CWL. Each filter cell is made of lightweight, strong metal and CNC machined, sand-blasted, black anodized, and laser engraved.
The Optolong EOS APS-C Clip filter can be inserted without tools; just use your fingers to insert or remove the filter. Once inserted correctly, it cannot unintentionally fall out.
Free Shipping Worldwide Via Registered Pos. For Express Shipment, Contact Us For Rate! Free Express Shipping To Singapore!


Thanksgiving is one of the most food-centric holidays of the entire year, and it's this same Thursday each November when nearly everyone--from average home cook, to professional chef, to those who consider cooking the worst form of pain--takes part in the food preparation process in one way or another.
Whether you're experienced in the kitchen or not, a cook is only as good as his or her tools, so ensuring that you come into the game fully prepared is a necessary step to achieving Thanksgiving Day success.
And while tools like a fat separator, ricer, baster, pastry brush, rolling pin, and more are extremely helpful in the Thanksgiving cooking and baking process, purchasing numerous hyper-specific items that you won't use very often (if you're not one to cook on much of a regular basis) for one meal doesn't make a ton of sense. And even if you are enthusiastic about cooking, it's important to know what you can do without if necessary. Here are the 3 tools, as selected by our editors, that are absolutlte necessary for tackling Thanksgiving--and every holiday dinner that comes after it, for that matter.
Let's face it, a good chef's knife is the most versatile tool in the entire kitchen, every day of the year. And you'll use it this Thanksgiving in more ways than one. You'll use it to . . .
I know what you're thinking, "No roasting pan?!" And while I know this may sound like heresy, the honest truth is--you don't really need it. Though it's the 'perfect' size for a turkey and the deep sides allow for lots of liquid to gather in the bottom of the pan, most home cooks dig their roasting pans out of the back corners of their cupboards only once a year--and that is to cook the Thanksgiving turkey. Cooking your bird on a metal rack placed over a rimmed baking sheet is not only a more practical method for those that don't already own a roasting pan, but it's actually a chef-recommended technique to producing evenly-cooked, golden-brown, and perfectly-crispy skin. Because it's rimmed, the baking sheet will still catch the juices from the bird, and you can use the same pan (with some of those good turkey juices still on it, preferably) to roast veggies. And obviously, you're about to get a ton of use out of that baking sheet and the rack with cookie baking season coming right up--it's a worthwile investment if you don't already have these items or feel like you could use a new set.
Though you're likely only going to use it for one dish this Thanksgiving--and that is the main event: the Thanksgiving turkey--a calibrated meat thermometer is absolutely crucial to ensure a perfectly-cooked, safe-to-eat turkey. Some turkeys these days come with a pop-up thermometer, but I'd highly warn you against trusting the outcome of your most-anticipated Thanksgiving dish to a cheap and highly-inaccurate plastic plug. You can purchase a good meat thermometer for $5 to $8 at most local kitchen retailers, not to mention you'll be checking the temperature of your turkey several times throughout the cooking process, so it's well worth the few extra dollars. Even if you only really need it for one dish on the big day, you are going to get so much use out of this essential kitchen tool for meals to come. Perfection only comes through exact heat for certain dishes (meat, deep fried foods, candy), and a thermometer is the only way to get there. And here's a little secret: as long as you keep it clean, you can totally use your meat thermometer for candy cooking too.


We believe that long expression partnership is often a result of top of the range, value added service, prosperous encounter and personal contact for Wet Portable Concrete Batching Plants , Wet Portable Concrete Batching Plant , Wet Portable Concrete Batch Plants , Welcome to put in place long-term connection with us. Best Price For good High-quality in China.
The corporation keeps towards the procedure concept "scientific administration, top quality and effectiveness primacy, buyer supreme for Wet Portable Concrete Batching Plants , Wet Portable Concrete Batching Plant , Wet Portable Concrete Batch Plants , We now have established long-term stable and good business relationships with many manufacturers and wholesalers around the world. Currently we have been looking forward to even greater cooperation with overseas customers based on mutual benefits. Remember to feel free to contact us for more details.


uCF has one final hurdle to clear before the regular-season finale against one-loss South Florida and a showdown with one-loss Memphis in the AAC championship, but the Knights better not best soccer tips for today overlook this road game.Average Stake Monthly Profit Yield kobrata.52 44 8.65 590.52 23.70 asenvandev.80 43 8.64 549.80 17.43 pansimero.70 17 8.74 504.83 45.48 ivan_tsochev.90 39 8.43 463.83 14.22 erheriene.36 22 9.96 381.90 22.69 Next Soccer Matches Today's Soccer Matches Tomorrow's Soccer Matches date event 1 X 2 league.
Finding a good online casino bonus can be a challenge. Check out this German Casino Guide to register for a German bonus before you sign up. Check out this excellent Italian language casino comparison site if you want the best bonus. If trading binary options.
Best soccer tips for today in USA and Canada!
instagram Account, cricket fans best soccer tips for today around the world can also get this match score updates via CricketZine Facebook Page, twitter Account,place of birth and time of birth. The horoscope prediction requires the birth date best soccer tips for today astrology charts, created using information i.e date of birth, birth date Astrology predictions are made considering various factors.
the Empoli, best soccer tips for today who has fled by anticipating sky sports prediction competition his direct pursuer of two small points, crotone, for all that, palermo and Pescara will therefore move to the lower division this season.
Real Money Blackjack Online Rankings 2018 (USA, UK, Canada) Real Money Blackjack Online Rankings 2018 (USA, UK, Canada) Scroll to top.
16. The strategy is different. With the first of 41 games to be placed in confidence order set to kick off on Dec. But while the contest is fundamentally the same, if you best soccer tips for today ve played College Pick em then you know the drill, capital One Bowl Mania is back,accurate bet selection, yeah, best soccer tips for today winning is a combination of astute money management, you are probably thinking, i have heard this stuff before." "When is he going to get to the meat of it?" Stay with me. "Yeah, correct timing and lots of discipline.
master betting lines, expert tips for betting on NFL best soccer tips for today Football games.what if I could show you real insider systems that you can use from your best soccer tips for today own home and make more money than you ever could in your job using just your computer and the internet.keep up to date with the latest football tittle-tattle with m's round-up of best soccer tips for today the days gossip.
fixed matches ht-ft, fixed match best soccer tips for today 2-1, fixed game 100 sure, fixed match 100 sure, ht/ft fixed games, fixed match 12, fixed match ht-ft, ht/ft tip, fixed match 2-1 or 1-2 fixed matches 100 sure, advertising fixed matches site, free fixed matches,watching them slowly climb into it. And there I was, all of it, of course, and not at all reassuring. 10 days ago, best soccer tips for today is just a microcosm of what I am slowly coming to grips with, so I worry about the bus.w3.org/TR/xhtml1/DTD/xhtml1-strict. "http www.
9. The Huskies arent going best soccer tips for today anywhere. Well re-evaluate after the Sooners showdown at Ohio State on Sept. Chris Petersens system works, mORE : Big 12 predictions (Getty Images)) Previous Next Pac-12 North: Washington.check back for updated lines throughout the week. Points spreads and odds best soccer tips for today are courtesy of Bovada.dATE MATCH PICK ODD FT??? Kjelsas Nardo 2/1 30.00. Utsiktens best soccer tips for today Mjallby 2/1 30.00 ODD:900.00. ODD:???? Kufstein Johann 2/1 30.00 Esbjerg Roskilde 2/1 30.00 ODD:900.00. Katowice Tychy 1/2 30.00 Volyn Lutsk Rukh Vynnyky 2/1 30.00 ODD:900.00.
that translates to an entertaining game, saturday, uCLA wins 45-38 and covers the betting tips football tomorrow spread (Getty Images)) Previous best soccer tips for today Next Noon ET, but we cant go against a red-hot Josh Rosen.


text:
Q: How to change visibility of textview on button click without providing ID to them? In this I need to know that how do I access a view without providing the Id to them in this there will be no id provided in any of the file. Without the use of external libraries like viewbinding, databinding, Butterknife etc

A: You can do that by using a combination of DataBinding, LiveData and ViewModel.
Read more about Data Binding: https://developer.android.com/topic/libraries/data-binding
You can enable Data Binding by putting this code in the module's gradle file under android section like this.
android {
 buildFeatures {
        dataBinding true
    }
}

In Short
First: You need a LiveData for the values you want to inject in the view and a function to modify it, like this ViewModel
class MainViewModel : ViewModel() {
    private val _isVisible: MutableLiveData<Boolean> = MutableLiveData<Boolean>(true)
    val isVisible
        get() = Transformations.map(_isVisible) {
            when (it) {
                true -> View.VISIBLE
                else -> View.INVISIBLE
            }
        }

    fun changeVisibility() {
        _isVisible.value = !_isVisible.value!!
    }
}

Second: You need to modify your layout to use our ViewModel by wrapping it in a  element contains  element like this, then simply you can call the variable and functions you need.
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MyFragment">

    <data>

        <variable
            name="MainViewModel"
            type="hazem.projects.testing.ui.main.MainViewModel" />
    </data>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textview_first"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Some Cool Text"
            android:visibility="@{MainViewModel.isVisible}" />

        <Button
            android:id="@+id/button_first"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="@{()-> MainViewModel.changeVisibility()}"
            android:text="Change Visibility" />
    </LinearLayout>

</layout>

Third: You need to modify the fragment to use DataBinding.
this can be done by:

*

*replacing the normal layout inflator with our binding object.

*assign the ViewModel to the binding object

*assign our fragment as a lifecycleOwner
 class MainFragment : Fragment() {

     private lateinit var binding: MainFragmentBinding

     override fun onCreateView(
         inflater: LayoutInflater, container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View? {

         binding = DataBindingUtil.inflate(inflater, R.layout.main_fragment, container, false)

         val viewModel = ViewModelProvider(this).get(MainViewModel::class.java)

         binding.mainViewModel = viewModel
         binding.lifecycleOwner = this

         return binding.root
     }

}

A: MainActivity.java
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;

import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView txtView;
    ConstraintLayout lay;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        lay = ;
//        Log.d("classname", "" + lay);
//        Log.d("childcount", "" + lay.getChildCount());
//
    }

    public void click(View view) {
        Log.d("getparent", "" + view.getParent());
        lay = (ConstraintLayout) view.getParent();
        lay.getChildAt(0).setVisibility(View.INVISIBLE);
        txtView = (TextView) lay.getChildAt(0);
        view.setOnLongClickListener(view1 -> {
            txtView.setText("Hi");
            txtView.setVisibility(View.VISIBLE);
            return true;
        });
    }
}

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="248dp"
        android:text="Button"
        android:onClick="click"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

redpajama_set_name: RedPajamaStackExchange


My favorite part of each trip to Chanel is peeking in their hidden closets of classic flap bags and boy bags. Tonight I went to my Neiman Marcus Chanel and Chanel Boutique in the Short Hills Mall and saw a bunch of goodies. The boutique had a flower boy and so black chevron medium left. The Neimans had a better selection including two crocodile boy bags which were stunning!!! They also had a ton of Python pieces and stingray pieces! I was in exotic skin heaven! I love the classic pieces so looking in these closets make me very very happy! Below are a few pics of my trip tonight.
So nice to see you here Opulenthabits!!! I love your IG account 🙂 welcome to Boptalk! And what a amazing thread you just started!!! Thank you very much and I hope you have a great time here with us!!!
Warm welcome Opulenthabits. I too love to peer into these magical closets. The Chanel boutique near me has a floor to ceiling one that houses many drool worthy treasures. Thank you for sharing with us and I hope to see you bopping all over BopTalk ?
If you didn't know about these hidden closets you would be missing out on so many goodies! They are behind the mirrored doors! Always ask to take a peek. I was surprised how many bags were in there!
Whats your LUXURY handbag category?
Chanel Boy Bag: is it a classic style that justifies the investment ?


text:
Q: Using Autohotkey to interchange Alt and Cmd keys on Apple keyboard I'm doing it right now. Everything works, except one little annoyance: when I press "Win+L" combo to lock PC, the "Win" key remains pressed until I hit it again. The same situation after I enter the password to unlock PC. Can be anything done to get rid of this? Maybe there exists a lower-level key remapping facility in Windows 7?

A: sharpkeys
It is a nice piece of software that remaps your keyboard by altering the registry. Been using it for a long time to switch Caps/CTRL.


This instructable walks you through programming and using the Boston Android Xmega evaluation board to work as a simple arbitrary waveform generator taking advantage of the integrated 12bit DAC and high speed DMA controller. I have provided precompiled firmware as well as source code which can be loaded onto the device and configured via a USB port on your PC or laptop.
You will need a computer (mac, pc, linux all supported) with an available USB port, free driver for the USB-Serial adapter, a Boston Android Xmega EVAL-USB-64 development board ($31.99) and an open source AVR chip programming utility called AVRDUDE.
Once set up, you can generate sine, ramp, triangle, square or any waveform you define from 5 to 20KHz with amplitude of up to 3.3Vp-p. It is possible to generate faster waveforms with the arbitrary waveform feature (up to 500KHz).
Although this example walks through programming and using the EVAL-USB-64 board, you can use any of the EVAL-USB boards from Boston Android. And if you're very experienced you can download the example source code and build for other target hardware such as the Atmel XPLAIN evaluation board, or the Xmega boards available from chips45 and Mattair, Megavore. The xmega family allows effortless migration of code from one chip to another.
Although not necessary, it is helpful to solder lead wires to your board to make it easy to connect an oscilloscope or frequency counter to observe the waveform output. The waveform output is on PORTB pin 2 and pin1 is configured as GND.
AVRDUDE is available as a standalone source distribution which you can compile with the GCC compiler on a number of operating systems (namely Linux).
However, if you use a PC running Windows there is a complete binary distribution (no compiling needed) called WINAVR which includes AVRDUDE, along with the AVR-GCC compiler which will allow you to modify and compile your own version of the waveform generator.
If you are using an alternative platform you will need to download and compile the source code. All the code is in a single .c file which is written to be compiled with AVR-GCC. If you are running on a Windows PC you can download the following two packages and compile and program the application on to your board.
The EVAL-USB-64 board contains a serial bootloader which allows your board to be programmed with avrdude.
1) Plug your board into the usb port of your PC.
2) Open a command line window.
4) Within 10 seconds of plugging in your board, execute the following command to load the program image.
Your com port may be different. To be sure, in windows go to the Device Manager and check "com ports" to see what port your board is connected to. It is almost always the highest numbered com port on your system since the builtin com ports are assigned COM1-4 typically. On my laptop it comes up as COM5 but your computer will likely be on another numbered port.
If you have an Atmel AVRISP mkii or JTAGICE mkii or compatible device you can use Atmel's AVRStudio to program the .hex file you downloaded in the previous step. See Atmel's documentation for using this utility.
Connect your board to your PC with a standard USB/miniB cable.
Open a serial terminal to the board. Under Windows XP you can use Hyperterm and open a connection to the COM port your device is on (you should know your COM port number from the previous step). Under Vista/7 you can use TeraTerm. The serial port configuration is 9600 Baud, 8N1, no flow control.
After you connect you should be able to type 'h' which will print out the usage instructions for the waveform generation utility.
You should be able to measure 1KHz waveform on your oscilloscope or frequency counter. Alternatively you can hook up a speaker or headphone and hear a low constant tone.
Although you can enter any number you want, for the standard waveforms (sine, square, etc) you should limit the frequency to 5Hz-20KHz. For example 20KHz sine waveform is shown below. To go beyond 20KHz you can use the arbitrary waveform function in the next step to create your own waveform with fewer datapoints (the dac is limited by how fast you copy data to it, the fewer datapoints in your waveform the faster you can go).
By default when you configure a waveform it is played back indefinitely. But you can also specify a small number of cycles. Here's how you would generate two cycles of a sine wave at 10KHz.
You can connect a small speaker (or headphones) to the circuit in order to hear what your waveform sounds like (or determine your hearing range). You will want to put a blocking capacitor in series to prevent any DC current from the DAC and to create a bipolar (positive and negative swinging) signal.
1) Solder a 47uF(or whatever you have handy over 1uF) electrolytic capacitor between PORTB header pin 3 and one of the leads to your speaker.
I can hear 16KHz sine wave, but above that it's silent..
It's a great site and instruction but c source file is missing. I will be very grateful for reload this file.
Broken link. I will try to fix this evening. Sorry about that!
Seem to be missing the source code. Is the link broke?
My usbasp(atmega8) having an error,How can i solve it?
hi, i'm from México. this instructable is very interesting for me, because i need to construct an ultrasonic frequency generator. i actually work in a project of the called smart windows, and i use a ultrasonic frequency generator and an atomizer nozzle in order to deposit thin films of NiO on ITO substrates. The generator that i'm utilizing is on the range of 0-130 kHz. so, i need to know if this instructable could be useful to me for construct my own generator with those characteristics. Thanks, César.
Hi wandererwolf, Iare quieted to generate 20khz sine wave using xmega128a1 board. I read one of your post that your code might work with xmega128a1 board. Can I have your code and project files? I would like to give it a try. Thanks.
This is an excellent instructable; the arbitrary waveform generator specifications are quite impressive for a such a low cost of implementation. I'm writing because Boston Android is no longer making development boards, and I'm not seeing alternatives via a Google search, other than a $199 Atmel development kit. Could you recommend a dev board?
Check out the boards from Mattair Tech (http://www.mattairtech.com/). They offer various Xmega development boards and the code should be portable to their boards with a little effort. Let me know if you need help; I can send you the source code and project files.
how would I boost the voltage amplitude of the frequency from 3V to 20V? if it uses opamps then what opamps would be best for boosting voltage which would cover all or most of its frequency ranges from 1hz ~ 500khz?
The output of the Xmega DAC can generate 0-3.3V and a few mA of current. To get higher voltage you will need (as you suggest) an opamp (low current only) or a linear amplifier circuit capable of driving your load.
What are you attempting to drive up to 20V? Is it a speaker? Any requirements for efficiency? Do you have a 20V supply to drive the output?
Basically I would be using it for all kinds of experiments, speaker, radio,EM , even experimental motor. but id be using the arbitrary waveform feature in most of these experiments, im wondering what is the range of the arbitrary function is it 140hz to 500KHz?
An LM386 would be a cheap and easy way to amplify the lower end of that frequency spectrum, and it can output a reasonable amount of power (I seem to remember 0.5 watts for SMD and 1 watt for the DIP version).
An OPA132 has a GBP of 20Mhz (gain of 40 at 500khz)... and if I recall can output 25 millamps, which is pretty good for an opamp of that bandwidth. They're nice and stable too, but like 6$ a pop.
Those are the simplest solutions that come to mind.
In theory the DAC can run up to 2MHz, but the example code here can only reach about 100KHz. For 500KHz you will be limited to square waves and need to write your own code to drive the DAC that fast.
You could definitely use an opamp amplifier circuit to boost the output voltage to 20V over that frequency range. The only limit of an opamp is that it generally is only used for low current applications. For example you wouldn't use an opamp circuit to generate a signal to drive a motor, etc.
If you do a web search there are lots of example opamp circuits to choose from. I would breadboard them and try them out.
Is it possible to use the code for an Xmega128A1?
Atmel worked very hard to make all the Xmega chips in the family derivatives of the Xmega128A1. So for example an Xmega128A3 just has fewer pins and fewer peripherals, but the ones it does have reside at the same addresses as the bigger Xmega128A1 chip. They also arranged memory at the same start addresses regardless of memory size. In theory all this means binary compatibility between chips (as long as the peripherals are available), so you MIGHT be able to load compiled code for the Xmega64A3 on to an Xmega128A1 and have it work, but there may be some catch. Certainly worth a try!
Ok, thanks for fast support. But I have an another question. Im using an STK600 board and I have no serial terminal. Which parameters can change the frequency? I need 20 khz sinewave.
Very nice, thank you. Do you think it would be possible to extend this design to use an external 16-bit DAC, like the TI DAC8830, for improved 16bit resolution and better drift stability? Most DACs use SPI as the interface, what would it take to hook these up?
There are several dedicated SPI interfaces on the Xmega chip you could use to interface with an external DAC. You can also configure the USARTS on every port to master SPI mode.


On this page we present you all our upcoming events that you can register for. We organize useful workshops and network events for our clients and candidates but we also hold events such as our annual Eurovision party!
On May 18th 2019 we will be hosting our annual Eurovision Songfestival party. As every year the party will have a theme and this year it will be Calling all Comic & Superheroes. You are invited to put your mask on and party with us. Are you feeling heroic?
After a long work week there is no nicer way to relax and unwind than with a drink in your hand surrounded by stimulating conversation and people from all over the world. Join us for after-work-drinks.
Do you want to speak to one of our representatives? Just come by our stand at the "I am not a tourist" Fair Eindhoven and one of our team members will be more than happy to assist you.
Do you want to speak to one of our representatives? Just come by our stand at the Bilingual People Fair and one of our team members will be more than happy to assist you.


Soybean oil, the vegetable cooking oil commonly used in the United States, is also gaining popularity worldwide. Researchers at the University of California, Riverside (UCR) tested a genetically modified (GM) soybean oil used in restaurants, and found that while it induces less obesity and insulin resistance than conventional soybean oil, its effects on diabetes and fatty liver are similar to those of conventional soybean oil.
The researchers tested Plenish®, a GM soybean oil released by DuPont in 2014, engineered to have low linoleic acid, resulting in an oil similar in composition to olive oil, the basis of the Mediterranean diet and considered to be healthful. The study also compared both conventional soybean oil and Plenish® to coconut oil, which is rich in saturated fatty acids and causes the least amount of weight gain among all the high-fat diets tested.
The research team also compared Plenish® to olive oil. Both oils have high oleic acid, a fatty acid believed to reduce blood pressure and help with weight loss. They found that olive oil produced identical effects as Plenish® – more obesity than coconut oil, although less than conventional soybean oil – and very fatty livers, which was surprising as olive oil is typically considered to be the healthiest of all the vegetable oils. "Plenish®, which has a fatty acid composition similar to olive oil, induced hepatomegaly, or enlarged livers, and liver dysfunction, just like olive oil," said Poonamjot Deol, co-first author of the research paper.
For more details, read UCR Today.


Hi, I am interested in your 2018 Polaris Sportsman 450 listed on Autotrader for $4,799. I'd like to get more information about this vehicle and confirm its availability.
BUY NOW SAVE $1500,,POLARIS SPORTSMAN 450 UTILITY EDITION READY FOR WORK OR PLAY THIS UTV DOES IT ALL AND ITS PRICED TO SELL,,HURRY ONLY ONE LEFT AT THIS PRICE,, CALL TODAY WE HAVE EASY FINANCING TO GET YOU RIDING !!!!!!!